字符串加密C语言代码
时间: 2024-12-02 12:12:08 浏览: 51
在C语言中,字符串加密通常涉及到对字符数组的操作,常见的有简单的替换算法(如Caesar Cipher)或是更复杂的密码哈希技术,比如MD5、SHA等。这里我将展示一个简单的凯撒密码的例子:
```c
#include <stdio.h>
#include <string.h>
// 凯撒密码函数,偏移量由用户输入
void caesar_cipher(char *str, int shift) {
int len = strlen(str);
for (int i = 0; i < len; ++i) {
if ('a' <= str[i] && str[i] <= 'z') { // 小写字母处理
str[i] = ((str[i] - 'a' + shift) % 26) + 'a';
} else if ('A' <= str[i] && str[i] <= 'Z') { // 大写字母处理
str[i] = ((str[i] - 'A' + shift) % 26) + 'A';
}
}
}
int main() {
char input[100];
printf("请输入原始字符串: ");
fgets(input, sizeof(input), stdin); // 防止换行符
input[strcspn(input, "\n")] = '\0'; // 移除fgets后的换行符
int shift;
printf("请输入偏移量(1-25): ");
scanf("%d", &shift);
caesar_cipher(input, shift);
printf("加密后的字符串: %s\n", input);
return 0;
}
```
这个示例展示了如何使用凯撒密码对字符串进行加密,用户需要输入原始字符串和偏移量。然而,对于更安全的加密,你可能需要使用外部库或专业的加密函数。
阅读全文