华为机试——字符串加密
来源:互联网 发布:2013年中国进出口数据 编辑:程序博客网 时间:2024/06/05 20:50
有一种技巧可以对数据进行加密,它使用一个单词作为它的秘钥。下面是它的工作原理:首先:选择一个单词作为秘钥,如TRAILAZERS。如果单词中包含有重复的字母,只包邮第1个,其余几个丢弃。现在修改过的那个单词位于字母表下面,如下所示:
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
T R A I L B Z E S C D F G H J K M N O P Q U V W X Y
在对信息进行加密时,信息中的每个字母用下面那行对应的字母替换——取代原文的字母(字母字符的大小写状态应该保留)。因此,使用这个秘钥,Attack AT DAWN(黎明时攻击)就会被加密为Tpptad TP ITVH
#include<iostream>#include<string>#include<cctype>#include<map>using namespace std;int main(){ string s1("ABCDEFGHIJKLMNOPQRSTUVWXYZ"); string s2("TRAILBZESCDFGHJKMNOPQUVWXY"); map<char,char> trans_map; trans_map[' ']=' '; for(size_t i=0;i<s1.size();i++) trans_map[s1[i]]=s2[i]; for(size_t i=0;i<s1.size();i++) trans_map[tolower(s1[i])]=tolower(s2[i]); /* map<char,char>::iterator map_it=trans_map.begin(); for(;map_it!=trans_map.end();++map_it) cout<<map_it->first<<" "<<map_it->second<<endl; */ string txt; getline(cin,txt); for(size_t i=0;i<txt.size();i++) { map<char,char>::const_iterator it=trans_map.find(txt[i]); if(it!=trans_map.end()) txt[i]=it->second; } cout<<txt<<endl;}
0 0
- 华为机试——字符串加密
- 华为机试--字符串加密
- 华为机试-字符串加密
- 华为机试-字符串加密
- 【华为机试】字符串加密
- 华为机试: 多线程、字符串加密
- 华为初级——字符串加密
- 华为OJ——字符串加密
- 华为OJ——字符串加密
- 华为OJ——字符串加密
- 华为机试在线训练-牛客网(22)字符串加密
- 华为机试——字符串转换
- 华为机试——字符串排序
- 华为机试——字符串过滤
- 华为机试——字符串拆分
- 华为机试——字符串拆分
- 华为机试——字符串压缩
- 华为机试——字符串分隔
- ssh信任,scp远程到本地不输密码
- Jquery Ajax发送请求的方法
- 个人css常见问题总结
- python文件中 if __name__ == '__main__': 的作用
- 带查看原图功能的图像浏览器
- 华为机试——字符串加密
- 输出汉诺塔的移动步骤
- Android 实现APP开屏广告
- 华为机试——小球落地
- IOS开发系列——Masonry手写Autolayout专题【整理,部分原创】
- HDOJ 3123 GCC (数学)
- ansible安装及问题解决
- android 之定义的栈来管理activity
- Android Studio的常见快捷键