c语言对一个字符进行加密,然后解密,输出加密解密后的结果
时间: 2024-09-14 13:05:44 浏览: 35
加密解密_C语言_加密解密_
在C语言中,我们可以使用简单的替换密码(Caesar Cipher)作为基本的字符加密和解密方法。这种加密方式简单地将每个输入字符按照指定的位移量替换为另一个字符。例如,我们通常会将每个字符向右移动固定步长(如3个位置)来进行加密。
**加密示例**:
```c
#include <stdio.h>
char encrypt(char ch, int shift) {
if (ch >= 'a' && ch <= 'z') { // 对小写字母处理
ch = ((ch - 'a' + shift) % 26) + 'a';
} else if (ch >= 'A' && ch <= 'Z') { // 对大写字母处理
ch = ((ch - 'A' + shift) % 26) + 'A';
}
return ch;
}
int main() {
char input_char, encrypted_char;
int shift = 3; // 这里可以设置为你想要的位移值
printf("请输入一个字符:");
scanf("%c", &input_char);
encrypted_char = encrypt(input_char, shift);
printf("加密后的字符是:%c\n", encrypted_char);
return 0;
}
```
**解密示例**:
只需将`shift`设为负数即可,因为减去相同的步长等于加上相反的步长:
```c
char decrypt(char ch, int shift) {
// ...(这里的加密函数encrypt部分不变,只是shift取反)
}
```
运行这个程序,你可以输入一个字符,它会被加密并显示出来;输入解密字符时,同样按此方法操作即可得到原字符。
阅读全文