c语言凯撒密码加密
时间: 2023-08-24 17:14:00 浏览: 213
凯撒密码是一种古老的加密方法,它通过将明文中的每个字母按照一定的偏移量进行替换来实现加密。下面是一个用 C 语言实现凯撒密码加密的例子:
```
#include <stdio.h>
#include <string.h>
void caesar_encrypt(char *plaintext, int key);
int main()
{
char plaintext[100];
int key;
printf("请输入明文:");
fgets(plaintext, 100, stdin);
printf("请输入密钥:");
scanf("%d", &key);
caesar_encrypt(plaintext, key);
printf("密文为:%s\n", plaintext);
return 0;
}
void caesar_encrypt(char *plaintext, int key)
{
int len = strlen(plaintext);
for (int i = 0; i < len; i++) {
if (plaintext[i] >= 'a' && plaintext[i] <= 'z') {
plaintext[i] = 'a' + (plaintext[i] - 'a' + key) % 26;
} else if (plaintext[i] >= 'A' && plaintext[i] <= 'Z') {
plaintext[i] = 'A' + (plaintext[i] - 'A' + key) % 26;
}
}
}
```
代码中的 `caesar_encrypt` 函数用来实现加密,它接收两个参数:明文字符串和密钥。在函数中,我们先计算明文字符串的长度,然后遍历字符串中的每个字符,如果是小写字母,就将其替换成按照密钥偏移后的字母,如果是大写字母,同样进行替换。最后,加密结果就保存在原来的明文字符串中。
阅读全文