单字符单表密码体制c语言代码
时间: 2023-10-08 16:11:32 浏览: 28
单字符单表密码体制的C语言代码可以如下所示:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 加密函数
void encrypt(char* plaintext, char* key) {
int len = strlen(plaintext);
int keyLen = strlen(key);
int i, j;
for (i = 0, j = 0; i < len; ++i, ++j) {
if (j == keyLen) {
j = 0;
}
plaintext[i] = (plaintext[i] - 'a' + key[j] - 'a') % 26 + 'a';
}
}
// 解密函数
void decrypt(char* ciphertext, char* key) {
int len = strlen(ciphertext);
int keyLen = strlen(key);
int i, j;
for (i = 0, j = 0; i < len; ++i, ++j) {
if (j == keyLen) {
j = 0;
}
ciphertext[i] = (ciphertext[i] - 'a' - key[j] + 'a' + 26) % 26 + 'a';
}
}
int main() {
char plaintext[100];
char key[100];
printf("请输入明文:");
fgets(plaintext, sizeof(plaintext), stdin);
printf("请输入密钥:");
fgets(key, sizeof(key), stdin);
// 去除换行符
plaintext[strcspn(plaintext, "\n")] = '\0';
key[strcspn(key, "\n")] = '\0';
encrypt(plaintext, key);
printf("加密结果:%s\n", plaintext);
decrypt(plaintext, key);
printf("解密结果:%s\n", plaintext);
return 0;
}
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![7z](https://img-home.csdnimg.cn/images/20210720083312.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.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)