//字符串明文加密及测试
#include<iostream>
using namespace std;
char* encryption(char str[], int code[], int codenum);
int main()
{
int code[] = { 5, 9, 8, 4, 3, 2 }; //密钥数组
char msg[] = "ABuio1987"; //明文字符串
char *str_encode; //密文字符串指针
//添加代码,完成测试
str_encode = encryption(msg, code, 6);
cout << "明文:" << msg << endl; // printf("明文:%s\n", msg);
cout << "密文:" << str_encode << endl; // printf("密文:%s\n", str_encode);
delete str_encode;
system("pause");
return 0;
}
//对str加密,返回值为密文字符串的指针
char* encryption(char str[], int code[], int codenum)
{
char*str_encode = new char[strlen(str)+1];
for (int i = 0; i < strlen(str); i++)
{
int index = i;
if (index >= codenum)
index = index%codenum;
str_encode[i] = code[index]+str[i];
if (str_encode[i] > 'Z'&&str[i]>='A'&&str[i] <= 'Z')
{
str_encode[i] = 'A' + (int)(str_encode[i] - 'Z'-1);
}
if (str_encode[i] > 'z'&&str[i] >= 'a'&&str[i] <= 'z')
{
str_encode[i] = 'a' + (int)(str_encode[i] - 'z'-1);
}
if (str_encode[i] > '9'&&str[i] >= '0'&&str[i] <= '9')
{
str_encode[i] = '0' + (int)(str_encode[i] - '9' - 1);
}
}
str_encode[strlen(str)] = '\0';
return str_encode;
}
200119题
最新推荐文章于 2024-03-12 00:36:50 发布