做一个简单的加密程序使用c语言
时间: 2024-11-12 09:46:06 浏览: 22
做一个简单的加密程序,我们可以使用Caesar密码(凯撒密码)作为基础,这是一种古老的替换式加密技术,通过将字母表中的每个字符按照固定位移来加密。下面是一个简单的Caesar密码加密程序的示例,使用C语言编写:
```c
#include <stdio.h>
#include <string.h>
// 加密函数,偏移量为key
char encrypt_char(char ch, int key) {
if (ch >= 'a' && ch <= 'z') { // 对小写字母进行加密
return ((ch - 'a' + key) % 26) + 'a';
} else if (ch >= 'A' && ch <= 'Z') { // 对大写字母进行加密
return ((ch - 'A' + key) % 26) + 'A';
}
return ch; // 其他字符不变
}
// 加密整个字符串
void encrypt_string(char *str, int key) {
for (int i = 0; str[i] != '\0'; i++) {
str[i] = encrypt_char(str[i], key);
}
}
int main() {
char plaintext[100];
printf("请输入明文: ");
fgets(plaintext, sizeof(plaintext), stdin);
// 去除fgets读取的换行符
plaintext[strlen(plaintext) - 1] = '\0';
int key;
printf("请输入加密偏移量(key): ");
scanf("%d", &key);
char ciphertext[strlen(plaintext)];
encrypt_string(ciphertext, key);
printf("加密后的密文: %s\n", ciphertext);
return 0;
}
```
这个程序首先获取用户输入的明文和加密偏移量,然后使用`encrypt_string`函数对明文逐个字符进行加密,并打印出结果。
阅读全文