移位密码的加密算法C
时间: 2024-05-18 08:09:40 浏览: 32
移位密码是一种简单的加密算法,也称为凯撒密码。它的原理是将明文中每个字母按照一定的规律进行移位,得到密文。移位的规律可以通过密钥确定,例如密钥为3,则明文中的每个字母都向后移动3个位置,A变为D,B变为E,以此类推。
下面是C语言实现移位密码加密算法的示例代码:
```c
#include <stdio.h>
#include <string.h>
// 加密函数
void encrypt(char *plaintext, int key) {
int i, len;
char ciphertext[100];
len = strlen(plaintext);
for (i = 0; i < len; i++) {
// 如果是大写字母,则移位后仍为大写字母
if (plaintext[i] >= 'A' && plaintext[i] <= 'Z') {
ciphertext[i] = ((plaintext[i] - 'A') + key) % 26 + 'A';
}
// 如果是小写字母,则移位后仍为小写字母
else if (plaintext[i] >= 'a' && plaintext[i] <= 'z') {
ciphertext[i] = ((plaintext[i] - 'a') + key) % 26 + 'a';
}
// 其他字符不进行加密
else {
ciphertext[i] = plaintext[i];
}
}
ciphertext[i] = '\0';
printf("密文:%s\n", ciphertext);
}
int main() {
char plaintext[100];
int key;
printf("请输入明文:");
scanf("%s", plaintext);
printf("请输入密钥:");
scanf("%d", &key);
encrypt(plaintext, key);
return 0;
}
```
相关推荐
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)