用c代码编写凯撒密码算法程序
时间: 2024-10-08 19:24:16 浏览: 30
文档凯撒密码的算法c语言
凯撒密码是一种简单的替换加密技术,通过将明文字母按照固定的位移(偏移量)向右移动来加密。下面是一个简单的C语言版本的凯撒密码程序示例:
```c
#include <stdio.h>
#include <string.h>
void caesar_cipher(char* plaintext, int shift) {
int len = strlen(plaintext);
for (int i = 0; i < len; ++i) {
// 将大写字母转换为ASCII值再处理,小写字母无需转换
if ('A' <= plaintext[i] && plaintext[i] <= 'Z') {
plaintext[i] = ((plaintext[i] - 'A' + shift) % 26) + 'A';
}
else if ('a' <= plaintext[i] && plaintext[i] <= 'z') {
plaintext[i] = ((plaintext[i] - 'a' + shift) % 26) + 'a';
}
}
}
int main() {
char message[] = "Hello, World!";
int shift_amount = 3; // 可以让用户输入偏移量,这里固定为3
caesar_cipher(message, shift_amount);
printf("加密后的消息: %s\n", message);
return 0;
}
```
在这个程序中,`caesar_cipher`函数接收一个字符串和一个偏移量,遍历字符串中的每个字符,如果字符是字母(不分大小写),就将其移动指定的位数,并保持在字母表范围内。主函数中我们使用了固定的"Hello, World!"作为明文和偏移量3。
阅读全文