c语言 字符串 加密解密
时间: 2023-11-06 08:03:09 浏览: 118
C语言中,字符串的加密解密主要通过改变字符串中的每个字符来实现。下面是一个简单的例子来说明字符串的加密解密:
加密过程:
1. 遍历字符串中的每个字符。
2. 将每个字符的ASCII码值加上一个特定的值(例如加上3)来改变字符的值。
3. 将修改后的字符重新赋值给原字符串。
解密过程:
1. 遍历字符串中的每个字符。
2. 将每个字符的ASCII码值减去相同的特定值(例如减去3)来恢复原始字符的值。
3. 将还原后的字符重新赋值给原字符串。
下面是一个示例程序来演示字符串的加密解密:
```c
#include <stdio.h>
#include <stdlib.h>
void encrypt(char* str, int key) {
while (*str != '\0') {
*str = *str + key;
str++;
}
}
void decrypt(char* str, int key) {
while (*str != '\0') {
*str = *str - key;
str++;
}
}
int main() {
char str[] = "Hello, World!";
int key = 3;
printf("原始字符串: %s\n", str);
encrypt(str, key);
printf("加密后的字符串: %s\n", str);
decrypt(str, key);
printf("解密后的字符串: %s\n", str);
return 0;
}
```
在上面的示例程序中,原始字符串是"Hello, World!",加密的特定值为3。首先,将字符串加密,然后再解密。加密后的字符串为"Khoor/#Zruog$",解密后恢复为原始字符串"Hello, World!"。
这是一个简单的字符串加密解密的例子,实际应用中可能采用更复杂的算法和加密密钥来实现更强大的加密解密功能。