如何用C语言编写一个字符串加密的程序?
时间: 2024-12-25 12:26:45 浏览: 93
在C语言中编写一个简单的字符串加密程序,我们可以使用凯撒密码(Caesar Cipher)作为例子,这是一种替换式加密技术,通过将字母表中的每个字符按照固定位移进行替换。以下是一个基本的实现:
```c
#include <stdio.h>
#include <string.h>
// 函数原型声明
char encrypt(char c, int shift);
char decrypt(char c, int shift);
int main() {
char input[100], output[100];
printf("请输入需要加密的字符串:");
fgets(input, sizeof(input), stdin); // 防止换行符干扰
input[strcspn(input, "\n")] = '\0'; // 去除fgets添加的换行符
int key;
printf("请输入加密偏移量(1-25):");
scanf("%d", &key);
strcpy(output, ""); // 清空output
for (int i = 0; input[i] != '\0'; i++) {
if (isalpha(input[i])) { // 只对字母进行加密
output[i] = encrypt(input[i], key);
} else {
output[i] = input[i]; // 非字母字符保持不变
}
}
printf("加密后的字符串:%s\n", output);
return 0;
}
// 加密函数
char encrypt(char c, int shift) {
if (islower(c)) {
return ((c - 'a' + shift) % 26) + 'a';
} else {
return ((c - 'A' + shift) % 26) + 'A';
}
}
// 解密函数
char decrypt(char c, int shift) {
return encrypt(c, -shift);
}
阅读全文
相关推荐


















