当前位置:首页 > 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)

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

相关文章

记住密码 php实现

记住密码 php实现

实现记住密码功能的方法 在PHP中实现记住密码功能通常通过Cookie或Session结合数据库验证完成。以下是两种常见实现方式: 基于Cookie的实现 设置长期有效的Cookie存储用户登录凭…

vue实现密码登录

vue实现密码登录

实现密码登录的基本流程 在Vue中实现密码登录功能需要结合表单验证、API请求和状态管理。以下是一个典型的实现方式: 创建登录表单组件 使用Vue的模板语法构建登录表单,包含用户名和密码输入框:…

react如何保存密码

react如何保存密码

保存密码的安全实践 在React应用中保存密码需要遵循严格的安全准则,直接明文存储密码是高风险行为。以下是推荐的安全方案: 使用环境变量 敏感信息如API密钥或数据库密码应通过环境变量管理,配合do…

凯撒密码在php中实现

凯撒密码在php中实现

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

php实现计算密码

php实现计算密码

密码哈希计算 使用PHP内置的password_hash()函数可以安全地计算密码哈希。该函数自动生成盐值并使用当前推荐的算法(如BCrypt)。 $password = "user_passwor…

php实现密码重置

php实现密码重置

实现密码重置功能 密码重置是Web应用中常见的功能,通常包括生成重置链接、发送邮件、验证令牌和更新密码等步骤。以下是使用PHP实现密码重置的详细方法。 生成重置令牌并发送邮件 创建唯一的重置令牌并存…