当前位置:首页 > PHP

凯撒密码在php中实现

2026-02-14 05:22:38PHP

凯撒密码简介

凯撒密码是一种替换加密技术,通过将字母表中的每个字母移动固定的位数(密钥)实现加密。例如密钥为3时,"A"加密为"D","Z"加密为"C"(循环移位)。

PHP实现凯撒加密

以下代码实现字符串的凯撒加密,支持大小写字母保留,非字母字符原样输出:

function caesarEncrypt($text, $shift) {
    $result = "";
    for ($i = 0; $i < strlen($text); $i++) {
        $char = $text[$i];
        if (ctype_upper($char)) {
            $result .= chr((ord($char) + $shift - 65) % 26 + 65);
        } elseif (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);
}

使用示例

$original = "Hello, World!";
$shift = 3;
$encrypted = caesarEncrypt($original, $shift);
$decrypted = caesarDecrypt($encrypted, $shift);

echo "Original: $original\n";
echo "Encrypted: $encrypted\n";  // 输出 "Khoor, Zruog!"
echo "Decrypted: $decrypted\n";  // 恢复原字符串

注意事项

  • 位移值应介于0-25之间,超出范围会自动取模
  • 仅处理A-Z/a-z字母,其他字符(数字、标点等)保持原样
  • 如需扩展符号集,需修改ASCII码范围判断逻辑

凯撒密码在php中实现

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

相关文章

php实现记住密码

php实现记住密码

实现记住密码功能的方法 使用PHP实现记住密码功能通常需要结合Cookie和Session技术。以下是几种常见的实现方式: 使用Cookie存储登录信息 在用户登录时创建一个长期有效的Cookie…

vue怎么实现手势密码

vue怎么实现手势密码

Vue 实现手势密码的方法 使用第三方库 vue-gesture-password vue-gesture-password 是一个专门为 Vue 设计的轻量级手势密码组件,支持自定义样式和事件。…

vue实现密码重置功能

vue实现密码重置功能

实现密码重置功能 在Vue中实现密码重置功能通常涉及前端表单处理、API调用和状态管理。以下是具体实现步骤: 密码重置表单组件 创建密码重置表单组件,包含新密码和确认密码字段: <tem…

vue实现密码明文切换

vue实现密码明文切换

实现密码明文切换功能 在Vue中实现密码输入框的明文/密文切换功能,可以通过动态绑定input元素的type属性来实现。以下是具体实现方法: 模板部分 <template> &…

react实现密码显示隐藏

react实现密码显示隐藏

使用状态管理控制密码显示/隐藏 在React中,可以通过useState钩子管理密码输入框的显示状态。定义一个布尔类型的状态变量(如showPassword),用于切换密码的明文/密文显示。 imp…

凯撒密码在php中实现

凯撒密码在php中实现

凯撒密码简介 凯撒密码是一种替换加密技术,通过将字母表中的每个字母移动固定位数(密钥)实现加密。例如密钥为3时,"A"加密为"D","Z"加密为"C"(循环移位)。 PHP实现凯撒加密 以下代码…