如何编写一个简单的C函数实现rot5加密?
时间: 2024-10-03 18:02:17 浏览: 29
C 代码 复制具有 使用 ROT13 编码和 ROT5 编码进行数字编码.rar
在C语言中,实现一个简单的rot5加密算法可以通过创建一个名为`rot5_encrypt`的函数来完成。这个算法会将输入的每个字符向右移动5个位置(A-Z变为M-Q,Z-A变为U-W)。下面是基本的函数结构:
```c
#include <stdio.h>
#include <string.h>
// 定义加密函数
char rot5_encrypt(char input) {
if (input >= 'A' && input <= 'Z') { // 如果是大写字母
return ((input - 'A' + 5) % 26) + 'A';
} else if (input >= 'a' && input <= 'z') { // 如果是小写字母
return ((input - 'a' + 5) % 26) + 'a';
} else { // 非字母字符不变
return input;
}
}
// 测试函数
void encrypt_string(const char *input, char *output) {
int i = 0;
while (input[i] != '\0') {
output[i] = rot5_encrypt(input[i]);
i++;
}
output[i] = '\0'; // 结束字符串
}
int main() {
char original[] = "Hello, World!";
char encrypted[100];
encrypt_string(original, encrypted);
printf("Original: %s\nEncrypted: %s\n", original, encrypted);
return 0;
}
```
在这个例子中,`encrypt_string`函数接收一个输入字符串,并通过迭代将其每个字符传递给`rot5_encrypt`进行加密。然后将结果存储到`encrypted`数组中。
阅读全文