【C语言练习】082. 使用C语言实现简单的加密算法
082. 使用C语言实现简单的加密算法
- 082. 使用C语言实现简单的加密算法
- 凯撒移位加密
- XOR异或加密
- 简单置换加密
- Vigenère维吉尼亚加密
- 注意事项
- 1. 异或加密算法
- 示例代码:异或加密
- 示例运行
- 2. 凯撒密码加密算法
- 示例代码:凯撒密码加密
- 示例运行
- 3. 注意事项
- 4. 总结
082. 使用C语言实现简单的加密算法
在C语言中,实现简单的加密算法可以通过多种方式,例如使用异或(XOR)加密、凯撒密码(Caesar Cipher)或更复杂的加密算法。这里,我们将实现一个简单的异或加密算法和一个凯撒密码加密算法。
凯撒移位加密
凯撒密码是最简单的替换加密方法之一,通过将字母表中的每个字母移动固定位数实现加密。
#include <stdio.h>
#include <ctype.h>void caesar_cipher(char* text, int shift) {for (int i = 0; text[i] != '\0'; i++) {if (isupper(text[i])) {text[i] = (text[i] - 'A' + shift) % 26 + 'A';} else if (islower(text[i])) {text[i] = (text[i] - 'a' + shift) % 26 + 'a';}}
}
调用示例:
char message[] = "HELLO";
caesar_cipher(message, 3); // 加密
caesar_cipher(message, -3); // 解密
XOR异或加密
XOR加密利用按位异或操作的可逆性进行加密,密钥可以是单个字符或多个字符。
#include <stdio.h>
#include <string.h>void xor_encrypt(char* data, const char* key) {size_t key_len = strlen