当前位置:首页 > PHP

凯撒密码在php中实现

2026-04-03 13:27:03PHP

凯撒密码在php中实现

凯撒密码简介

凯撒密码是一种替换加密技术,通过将字母表中的每个字母移动固定位数实现加密。例如,位移为3时,"A"会变成"D","B"变成"E"。

凯撒密码在php中实现

PHP实现加密函数

function caesarEncrypt($text, $shift) {
    $result = "";
    $length = strlen($text);
    for ($i = 0; $i < $length; $i++) {
        $char = $text[$i];
        if (ctype_upper($char)) {
            $result .= chr((ord($char) + $shift - 65) % 26 + 65);
        } else if (ctype_lower($char)) {
            $result .= chr((ord($char) + $shift - 97) % 26 + 97);
        } else {
            $result .= $char;
        }
    }
    return $result;
}

PHP实现解密函数

解密是加密的逆过程,只需将位移值取反:

function caesarDecrypt($text, $shift) {
    return caesarEncrypt($text, 26 - $shift);
}

使用示例

$originalText = "HelloWorld";
$shift = 3;

$encrypted = caesarEncrypt($originalText, $shift);
echo "加密后: " . $encrypted . "\n";

$decrypted = caesarDecrypt($encrypted, $shift);
echo "解密后: " . $decrypted . "\n";

注意事项

  • 该实现仅处理字母字符,数字和符号保持不变
  • 位移值应介于1到25之间
  • 对于非字母字符,函数会原样输出
  • 大写和小写字母分别处理,保持原始大小写

扩展改进建议

  • 添加对数字的加密支持
  • 实现自定义字符集处理
  • 增加输入验证,确保位移值有效
  • 添加多字节字符支持(如UTF-8)

标签: 凯撒密码
分享给朋友:

相关文章

vue实现记住密码

vue实现记住密码

Vue 实现记住密码功能 在 Vue 中实现记住密码功能通常涉及前端表单处理、本地存储(如 localStorage 或 cookie)以及安全注意事项。以下是具体实现方法: 使用 localSto…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

vue记住密码功能实现

vue记住密码功能实现

Vue 记住密码功能实现 在 Vue 中实现记住密码功能,通常需要结合浏览器的本地存储(如 localStorage 或 sessionStorage)来保存用户登录信息。以下是具体实现方法: 使用…

vue实现密码框显示

vue实现密码框显示

实现密码框显示与隐藏功能 在Vue中实现密码框的显示与隐藏功能,可以通过切换输入框的type属性实现。以下是具体实现方法: 模板部分 <template> <div clas…

php实现密码修改

php实现密码修改

PHP 实现密码修改功能 密码修改功能通常包括验证当前密码、输入新密码、确认新密码等步骤。以下是一个完整的实现方法: 数据库连接与准备 确保已建立数据库连接并创建用户表。用户表至少包含 id, us…

vue实现密码输入

vue实现密码输入

密码输入框实现方法 在Vue中实现密码输入框需要结合HTML的<input>元素和Vue的数据绑定功能。以下是几种常见的实现方式: 基础实现 <template> &l…