密码表加密是一种十分常用的密码加密方法,加密的原理是根据明文表和密码表,加密形成密文,根据密文和密码表解密,读出明文。
要求设计自己的密码表,不允许彼此相同密码表,明文表与密码表可创建字符数组表示,本题密码表取下:
char arr1[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char arr2[] = "18ac4y7bxuiep23hjs5ofwv0zdl9gkm6nqrt";
即1是a的密文,8是b的密文。
需要用户输入待加密明文字符串数据(由小写英文字符和数字组成,长度不超过100),字符串数据需要创建字符数组存放。输出根据密码表加密后的数据。
例如输入:abc90
程序输出:18art
#include<stdio.h>
int main(void)
{
char arr1[] = "abcdefghijklmnopqrstuvwxyz1234567890";
char arr2[] = "18ac4y7bxuiep23hjs5ofwv0zdl9gkm6nqrt";
char arr3[40], arr4[40];
int i;
gets(arr3);
for (i = 0; i < strlen(arr3); i++)
{
int j;
for (j = 0; j < strlen(arr1); j++)
{
if (arr3[i] == arr1[j])
arr4[i] = arr2[j];
}
}
puts(arr4);
return 0;
}