华为oj字符串加解密
2015-11-20 16:42
429 查看
#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 ,kdata ,aucResult ,result ; int k; cin>>data>>kdata; Encrypt(data,aucResult); cout<<endl; k = unEncrypt(result,kdata); return 0; }
相关文章推荐
- python 例外与异常mac地址
- Android 中常见的控件
- 正则表达式
- 如何删除AD在 server 2012 上
- linux下使用管道实现一个简单的服务器/客户端
- 5-3 多级派生类的构造函数
- HttpClient4.3教程 第四章 HTTP认证
- Android DPI
- iBATIS.net获取运行时sql语句
- $('div','li') 和 $('div , li') 和 $('div li') 区别
- angular学习笔记
- PHP的三种XML解析器之SimpleXML解析器(三)
- 服务器被挖矿minerd
- Python刷题笔记(5) - 判断“幸运数”
- ios h5 出现的问题
- 使用WebViewJavascriptBridge实现OC与JS交互
- HttpSession对象的生命周期
- make:commands commence before first target
- cannot access storage file (as uid:107, gid:107)permission denied
- iOS 标签字体加粗