利用数组和函数的方式完成报文的加密和解密(报文长度不超过80个字符,报文密码自己设定)使用c语言
时间: 2024-04-29 07:26:53 浏览: 113
好的,我会为您提供一个基于数组和函数的报文加密和解密的示例代码,具体如下:
```c
#include <stdio.h>
#include <string.h>
// 报文加密函数
void encrypt(char message[], int key) {
int i;
for(i = 0; i < strlen(message); i++) {
message[i] += key;
}
}
// 报文解密函数
void decrypt(char message[], int key) {
int i;
for(i = 0; i < strlen(message); i++) {
message[i] -= key;
}
}
int main() {
char message[80];
int key;
printf("请输入要加密的报文:");
fgets(message, 80, stdin);
printf("请输入加密密钥:");
scanf("%d", &key);
encrypt(message, key);
printf("加密后的报文为:%s\n", message);
decrypt(message, key);
printf("解密后的报文为:%s\n", message);
return 0;
}
```
在上述代码中,我们定义了两个函数 `encrypt` 和 `decrypt`,分别用于对报文进行加密和解密。具体实现方式是遍历报文字符串中的每个字符,对其进行加密或解密操作,加密和解密的方式都是通过给字符的 ASCII 码值加上或减去密钥来实现的。
在程序的 `main` 函数中,我们首先通过 `fgets` 函数从标准输入中读入需要加密的报文,然后再通过 `scanf` 函数读入加密密钥。接着调用 `encrypt` 函数对报文进行加密,再输出加密后的报文。最后再调用 `decrypt` 函数对加密后的报文进行解密,并输出解密后的报文。
需要注意的是,在实际应用中,加密密钥应该保密,不能暴露在程序中。此处为了方便演示,直接从标准输入中读入了密钥。如果需要更加安全的加密方式,可以考虑使用更加复杂的加密算法和密钥管理方案。
阅读全文
相关推荐









