C语言实现2个解密代码
时间: 2024-12-08 19:13:40 浏览: 4
aes加解密 C语言实现
在C语言中,加密和解密通常是通过特定算法来完成的,比如 Caesar Cipher(凯撒密码)、Vigenère Cipher(维吉尼亚密码)或者更复杂的像AES、DES等。以下是两个简单的示例,一个是凯撒密码的解密,另一个是异或(XOR)操作作为一种非常基础的位级解密(适用于某些特定的数据结构)。
1. **凯撒密码解密** (简单的字母移位)
```c
#include <stdio.h>
void caesar_decrypt(char *input, int shift, char alphabet[26]) {
for(int i = 0; input[i] != '\0'; ++i) {
if(input[i] >= 'a' && input[i] <= 'z') { // ASCII值范围内的英文字母
input[i] = ((input[i] - shift + 26) % 26) + 'a';
} else if(input[i] >= 'A' && input[i] <= 'Z') { // 大写字母处理
input[i] = ((input[i] - 'A' - shift + 26) % 26) + 'A';
}
}
}
int main() {
char message[] = "Khoor, Zruog!";
const int shift = 3;
char alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
caesar_decrypt(message, shift, alphabet);
printf("Decrypted message: %s\n", message);
return 0;
}
```
阅读全文