php 凯撒密码加密
时间: 2024-10-13 17:01:11 浏览: 26
凯撒密码(Caesar Cipher),也称为移位密码,是一种简单的替换式加密技术,在PHP中可以轻松实现。基本原理是将明文中的每个字母按照固定的位移量(例如3位)向后循环,A~Z变为D~M,然后接上N~Z。PHP里可以使用字符串函数配合ASCII码来完成这个过程。
下面是一个简单的PHP凯撒密码加密的示例:
```php
function caesar_cipher_encrypt($plaintext, $shift) {
$result = '';
// 循环遍历输入的每个字符
for ($i = 0; $i < strlen($plaintext); $i++) {
// 获取当前字符的ASCII值
$ascii_val = ord($plaintext[$i]);
// 如果是大写字母,加密后的 ASCII 值 = (当前值 + 移位) % 26 + 65
if ($ascii_val >= 65 && $ascii_val <= 90) {
$encrypted_ascii = ($ascii_val - 65 + $shift) % 26 + 65;
}
// 如果是小写字母,加密后的 ASCII 值 = (当前值 + 移位) % 26 + 97
else if ($ascii_val >= 97 && $ascii_val <= 122) {
$encrypted_ascii = ($ascii_val - 97 + $shift) % 26 + 97;
}
// 对非字母字符不做处理并保留原样
else {
$encrypted_ascii = $ascii_val;
}
// 将加密后的ASCII值转换回字符添加到结果
$result .= chr($encrypted_ascii);
}
return $result;
}
// 示例用法
$plaintext = 'Hello, World!';
$shift = 3;
$ciphertext = caesar_cipher_encrypt($plaintext, $shift);
echo "Encrypted text: " . $ciphertext;
阅读全文