仿射密码加密的c语言具体实现
时间: 2023-05-18 20:07:26 浏览: 125
以下是仿射密码加密的C语言实现:
```c
#include <stdio.h>
#include <ctype.h>
#define ALPHA_SIZE 26
int main() {
char plaintext[1000], ciphertext[1000];
int a, b, i, j;
printf("请输入明文:");
fgets(plaintext, 1000, stdin);
printf("请输入加密密钥a和b:");
scanf("%d %d", &a, &b);
for (i = 0; plaintext[i] != '\0'; i++) {
if (isalpha(plaintext[i])) {
if (isupper(plaintext[i])) {
ciphertext[i] = ((a * (plaintext[i] - 'A') + b) % ALPHA_SIZE) + 'A';
} else {
ciphertext[i] = ((a * (plaintext[i] - 'a') + b) % ALPHA_SIZE) + 'a';
}
} else {
ciphertext[i] = plaintext[i];
}
}
ciphertext[i] = '\0';
printf("加密结果为:%s\n", ciphertext);
return 0;
}
```
这个程序可以接收用户输入的明文和加密密钥a和b,然后使用仿射密码算法对明文进行加密,最后输出加密结果。
阅读全文