[华为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;
}
很简单,直接上代码
代码:
#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;
}
相关文章推荐
- HTML5基础知识
- 获取Android Studio的SHA1
- 复数类的设计及加减法的实现(Complex Numbers)
- Codeforces Round #358 (Div. 2) D. Alyona and Strings(DP)
- hibernate中Query的list和iterator区别(续)
- Windows进程通信 -- 共享内存
- 华为机试--最高分是多少
- Solr/SolrCloud SolrConfigHandler详解
- 华为机试题【11】-报数删除人
- iOS多线程技术-上
- 华为机试题【11】-报数删除人
- 华为机试题【11】-报数删除人
- 华为机试题【11】-报数删除人
- 1、linux软件包管理
- Word Search
- 【自定义View系列】04--谈谈事件分发
- MFC标题和文字的修改
- [C#6] 7-索引初始化器
- 用GHOST备份系统
- java编码与解码