您的位置:首页 > 其它

[华为OJ] 字符串加解密

2016-07-09 22:03 232 查看
思路:

很简单,直接上代码

代码:

#include <string>
#include <iostream>
using namespace std;
void Encrypt (string aucPassword, string aucResult);
int unEncrypt (string result, string password);

void main(){
string aucPassword,aucResult;
string result,password;
//getline(cin,aucPassword);
cin >> aucPassword;
aucResult = aucPassword;
//getline(cin,result);
cin >> result;
password = result;
Encrypt(aucPassword,aucResult);
unEncrypt(result,password);
}
//实现字符串加密并输出
void Encrypt (string aucPassword, string aucResult){
int size = aucPassword.size();
if(size == 0) cout << "";
for(int i = 0; i < size; i++){
if(aucPassword[i] >= 'a' && aucPassword[i] < 'z')
aucResult[i] = aucPassword[i] - 'a' + 'A' + 1;
else if(aucPassword[i] >= 'A' && aucPassword[i] < 'Z')
aucResult[i] = aucPassword[i] - 'A' + 'a' + 1;
else if( aucPassword[i] >= '0' && aucPassword[i] < '9')
aucResult[i]++;
else if(aucPassword[i] == 'z')
aucResult[i] = 'A';
else if(aucPassword[i] == 'Z')
aucResult[i] = 'a';
else if(aucPassword[i] == '9')
aucResult[i] = '0';
}
cout << aucResult << endl; //格式坑爹
}
//实现字符串解密并输出
int unEncrypt (string result, string password){
int size = result.size();
if(size == 0) cout << "";
for(int i = 0; i < size; i++){
if(result[i] > 'a' && result[i] <= 'z')
password[i] = result[i] - 'a' + 'A' - 1;
else if(result[i] > 'A' && result[i] <= 'Z')
password[i] = result[i] - 'A' + 'a' - 1;
else if( result[i] > '0' && result[i] <= '9')
password[i]--;
else if(result[i] == 'a')
password[i] = 'Z';
else if(result[i] == 'A')
password[i] = 'z';
else if(result[i] == '0')
password[i] = '9';
}
cout << password;
return 1;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: