#include<iostream>
#include<string.h>
#define N 100
using namespace std;
void Encrypt(char auPassword[],char aucResult[])
{
while((*auPassword) != '\0')
{
int asc = (int)(*auPassword);
if(asc>=48&&asc<=57) //按照数字处理
{
if(asc != 57) //不是9
{
cout<<char(++asc);
*aucResult = char(++asc);
}
else
{
cout<<0;
*aucResult = '0';
}
}
else //字母处理
{
if(asc>=97&&asc<=122) //原来是小写字母
{
if(asc != 122)
{
cout<<(char)toupper(++asc);
*aucResult = (char)toupper(++asc);
}
else
{
cout<<'A';
*aucResult = 'A';
}
}
else //原来是大写字母
{
if(asc != 90)
{
cout<<(char)tolower(++asc);
*aucResult = (char)tolower(++asc);
}
else
{
cout<<'a';
*aucResult = 'a';
}
}
}
++auPassword;
++aucResult;
}
}
int unEncrypt(char result[],char password[])
{
while((*password) != '\0')
{
int asc = (int)(*password);
if(asc>=48&&asc<=57) //按照数字处理
{
if(asc != 48) //不是9
{
cout<<char(--asc);
*result = char(--asc);
}
else
{
cout<<9;
*result = '9';
}
}
else //字母处理
{
if(asc>=97&&asc<=122) //原来是小写字母
{
if(asc != 97)
{
cout<<(char)toupper(--asc);
*result = (char)toupper(--asc);
}
else
{
cout<<'Z';
*result = 'Z';
}
}
else //原来是大写字母
{
if(asc != 65)
{
cout<<(char)tolower(--asc);
*result = (char)tolower(--asc);
}
else
{
cout<<'z';
*result = 'z';
}
}
}
++password;
++result;
}
return 1;
}
int main()
{
char data[N],kdata[N],aucResult[N],result[N];
int k;
cin>>data>>kdata;
Encrypt(data,aucResult);
cout<<endl;
k = unEncrypt(result,kdata);
return 0;
}
华为oj字符串加解密
最新推荐文章于 2023-11-30 14:28:44 发布