C语言代码 控制台输入1:加密 2:解密 加密过程: 输入一段明文:*** 输入秘钥:* 程序输出相应密文:*** 解密过程: 输入一段密文:*** 输入秘钥:* 程序输出相应明文:*** :代码规整美观,必要处加注释。
时间: 2024-06-18 19:05:29 浏览: 156
C语言是一种通用的高级程序设计语言,可以用于编写各种应用程序,包括操作系统。以下是你所要求的加密解密代码:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char *str, char key);
void decrypt(char *str, char key);
int main()
{
int option;
char str[100];
char key;
printf("请选择操作:\n");
printf("1. 加密\n");
printf("2. 解密\n");
scanf("%d", &option);
if (option == 1) {
printf("请输入明文:");
scanf("%s", str);
printf("请输入秘钥:");
scanf(" %c", &key);
encrypt(str, key);
printf("加密后的密文为:%s\n", str);
} else if (option == 2) {
printf("请输入密文:");
scanf("%s", str);
printf("请输入秘钥:");
scanf(" %c", &key);
decrypt(str, key);
printf("解密后的明文为:%s\n", str);
} else {
printf("无效的选项\n");
}
return 0;
}
void encrypt(char *str, char key)
{
int i;
int len = strlen(str);
for (i = 0; i < len; i++) {
str[i] ^= key;
}
}
void decrypt(char *str, char key)
{
encrypt(str, key);
}
```
这段代码实现了加密和解密的功能。加密过程是将明文中每个字符与秘钥进行异或运算,得到相应的密文;解密过程则是将密文再次进行异或运算,得到原始的明文。在这段代码中,我们使用了两个函数来实现加密和解密,这样可以避免代码重复。在加密函数中,我们使用了循环来遍历字符串中的每一个字符,并对其进行异或运算;在解密函数中,我们直接调用加密函数即可。
阅读全文