凯撒加密c语言加密解密
时间: 2024-12-20 16:06:24 浏览: 5
凯撒加密C语言实现方式.docx
凯撒加密是一种基于字母移位的加密算法,它通过将明文中的每个字母按照指定的位数向右或者向左移动,从而得到密文。在C语言中实现凯撒加密可以通过字符数组和循环实现。
以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char plaintext[100];
int key, i;
// 输入明文和密钥
printf("请输入明文:");
gets(plaintext);
printf("请输入密钥:");
scanf("%d", &key);
// 加密明文
for (i = 0; i < strlen(plaintext); 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;
}
}
// 输出密文
printf("加密后的密文为:%s\n", plaintext);
// 解密密文
for (i = 0; i < strlen(plaintext); i++) {
if (plaintext[i] >= 'a' && plaintext[i] <= 'z') {
plaintext[i] = 'a' + (plaintext[i] - key + 26) % 26;
} else if (plaintext[i] >= 'A' && plaintext[i] <= 'Z') {
plaintext[i] = 'A' + (plaintext[i] - 'A' - key + 26) % 26;
}
}
// 输出解密后的明文
printf("解密后的明文为:%s\n", plaintext);
return 0;
}
```
阅读全文