用c语言写一个加密程序
时间: 2023-09-05 10:15:06 浏览: 185
下面是一个简单的 C 语言加密程序,采用了 Caesar cipher 算法:
```c
#include <stdio.h>
#include <string.h>
void encrypt(char message[], int key);
int main() {
char message[100];
int key;
printf("Enter a message to encrypt: ");
fgets(message, sizeof(message), stdin);
printf("Enter a key: ");
scanf("%d", &key);
// 去掉换行符
if (message[strlen(message) - 1] == '\n') {
message[strlen(message) - 1] = '\0';
}
encrypt(message, key);
printf("Encrypted message: %s\n", message);
return 0;
}
void encrypt(char message[], int key) {
int i;
char ch;
for (i = 0; message[i] != '\0'; ++i) {
ch = message[i];
if (ch >= 'a' && ch <= 'z') {
ch = ch + key;
if (ch > 'z') {
ch = ch - 'z' + 'a' - 1;
}
message[i] = ch;
}
else if (ch >= 'A' && ch <= 'Z') {
ch = ch + key;
if (ch > 'Z') {
ch = ch - 'Z' + 'A' - 1;
}
message[i] = ch;
}
}
}
```
这个程序中,我们首先输入要加密的消息和加密的密钥,然后去掉消息中的换行符,接着调用 `encrypt` 函数进行加密,在加密函数中,我们遍历消息中的每个字符,如果是小写字母,就把它加上密钥,如果超过了字母表的范围,则将它变成循环的。对于大写字母也是同样的操作。最后输出加密后的消息。
需要注意的是,这个加密程序并不是非常安全,因为它使用了一个简单的算法,而且密钥是明文传输的。如果需要更高的安全性,应该使用更加复杂的加密算法,比如 AES 等。
阅读全文