c语言实现单表代换密码
时间: 2023-10-15 14:05:53 浏览: 254
c单表密码的实现
单表代换密码是一种简单的加密方法,可以通过C语言实现。具体实现过程如下:
1.定义一个数组,用于存储替换关系。
2.通过循环遍历明文中的字符,查找该字符在替换表中的位置,如果找到则将其替换为对应的密文字符,否则保持不变。
3.输出加密后的密文。
下面是一个示例代码实现:
```
#include <stdio.h>
#include <string.h>
int main() {
char plainText[100], cipherText[100];
char substitutionTable[] = "QWERTYUIOPASDFGHJKLZXCVBNM";
int i, j;
printf("Enter plaintext: ");
scanf("%s", plainText);
// Encryption
for (i = 0; i < strlen(plainText); i++) {
char ch = plainText[i];
if (ch >= 'A' && ch <= 'Z') {
j = ch - 'A';
cipherText[i] = substitutionTable[j];
} else {
cipherText[i] = ch;
}
}
cipherText[i] = '\0';
printf("Encrypted text: %s\n", cipherText);
// Decryption
for (i = 0; i < strlen(cipherText); i++) {
char ch = cipherText[i];
if (ch >= 'A' && ch <= 'Z') {
for (j = 0; j < 26; j++) {
if (substitutionTable[j] == ch) {
plainText[i] = 'A' + j;
break;
}
}
} else {
plainText[i] = ch;
}
}
plainText[i] = '\0';
printf("Decrypted text: %s\n", plainText);
return 0;
}
```
在上面的代码中,我们定义了一个替换表,将字母A-Z依次替换为替换表中的字符。通过遍历明文中的字符,查找该字符在替换表中的位置,如果找到则将其替换为对应的密文字符,否则保持不变。同样的方法也可以用于解密。
阅读全文