hnust 土豪金的加密解密
问题 G: 土豪金的加密与解密
时间限制: 1 Sec 内存限制: 128 MB
提交: 466 解决: 263
[提交][状态][讨论版]
题目描述

有一天,他准备用手机打电话,当他打开键盘(如图示)准备拨号时,突发奇想,我为什么不利用这个键盘上的信息来加密呢?
输入
输出
根据输入的密文,解密成明文后输出。
样例输入
8*884426661AE
样例输出
TUHAO123 打个表就好了
#include <cstdio>
#include <cstring>
char tw[][]={'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'};
char matht(char a)
{
char k;
if(a<='C') k='';
else if(a<='F'&&a>='D') k='';
else if(a<='I'&&a>='G') k='';
else if(a<='L'&&a>='J') k='';
else if(a<='O'&&a>='M') k='';
else if(a<='S'&&a>='P') k='';
else if(a<='V'&&a>='T') k='';
else if(a<='Z') k='';
return k;
}
char eng(char n,int l)
{
if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else if(n=='') return tw[][l];
else return tw[][l];
}
int main()
{
int n,o=,i,q;
char s[],c[];
scanf("%s",s);
int l=strlen(s);
for(i=;i<l;i++)
{
q=;
if(s[i]=='#')
break;
else if(s[i]=='*') continue;
else if(s[i]>='A'&&s[i]<='Z')
c[o++]=matht(s[i]);
else if(s[i]<''&&s[i]>='')
c[o++]=s[i];
else if(s[i]>=''&&s[i]<='')
{
while(s[i+]>=''&&s[i+]<=''&&(s[i+]-''==s[i]-''))
{
i++;
q++;
}
c[o++]=eng(s[i],q);
}
}
c[o]='\0';
printf("%s\n",c);
return ;
}
hnust 土豪金的加密解密的更多相关文章
- PHP的学习--RSA加密解密
PHP服务端与客户端交互或者提供开放API时,通常需要对敏感的数据进行加密,这时候rsa非对称加密就能派上用处了. 举个通俗易懂的例子,假设我们再登录一个网站,发送账号和密码,请求被拦截了. 密码没加 ...
- 兼容javascript和C#的RSA加密解密算法,对web提交的数据进行加密传输
Web应用中往往涉及到敏感的数据,由于HTTP协议以明文的形式与服务器进行交互,因此可以通过截获请求的数据包进行分析来盗取有用的信息.虽然https可以对传输的数据进行加密,但是必须要申请证书(一般都 ...
- .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现
场景:java 作为客户端调用已有的一个.net写的server的webservice,输入string,返回字节数组. 问题:返回的值不是自己想要的,跟.net客户端直接调用总是有差距 分析:平台不 ...
- php使用openssl进行Rsa长数据加密(117)解密(128) 和 DES 加密解密
PHP使用openssl进行Rsa加密,如果要加密的明文太长则会出错,解决方法:加密的时候117个字符加密一次,然后把所有的密文拼接成一个密文:解密的时候需要128个字符解密一下,然后拼接成数据. 加 ...
- c#和js互通的AES加密解密
一.使用场景 在使用前后端分离的框架中常常会进行传输数据相互加密解密以确保数据的安全性,如web Api返回加密数据客户端或web端进行解密,或者客户端或web端进行加密提交数据服务端解密数据等等. ...
- PHP AES的加密解密
AES加密算法 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准.这个标准用来替代原先的DE ...
- [PHP]加密解密函数
非常给力的authcode加密函数,Discuz!经典代码(带详解) function authcode($string, $operation = 'DECODE', $key = '', $exp ...
- 非对称技术栈实现AES加密解密
非对称技术栈实现AES加密解密 正如前面的一篇文章所述,https协议的SSL层是实现在传输层之上,应用层之下,也就是说在应用层上看到的请求还是明码的,对于某些场景下要求这些http请求参数是非可读的 ...
- 【转】asp.net(c#)加密解密算法之sha1、md5、des、aes实现源码详解
原文地址:http://docode.top/Article/Detail/10003 目录: 1..Net(C#)平台下Des加密解密源代码 2..Net(C#)平台下Aes加密解密源代码 3..N ...
随机推荐
- IOS 获取手机的屏幕宽度
//屏幕的宽度 CGFloat screenW=[UIScreen mainScreen].bounds.size.width;
- C语言异常处理编程的三个境界
http://blog.csdn.net/treefish2012/article/details/17466487 这是上一次看完Herb Sutter的<Exceptional C++> ...
- SpringMVC-响应数据和结果视图
返回值分类 1. 字符串 controller 方法返回字符串可以指定逻辑视图名,通过视图解析器解析为物理视图地址. 2. void 在 controller 方法形参上可以定义 request 和 ...
- CUDA:Supercomputing for the Masses (用于大量数据的超级计算)-第四节
了解和使用共享内存(1) Rob Farber 是西北太平洋国家实验室(Pacific Northwest National Laboratory)的高级科研人员.他在多个国家级的实验室进行大型并行运 ...
- Tomcat启动xxx.keystore文件找不到
在server.xml里配置了 <Connector SSLEnabled="true" acceptCount="1000000" clientAuth ...
- 安装配置mysql图文步骤以及配置mysql的环境变量的步骤
MySQL下载地址:http://dev.mysql.com/downloads/installer/ 我的数据库是5.5.21这个版本的.其实可以一直点击next,直到出现第14张图,从这里开始要注 ...
- 通过sudo提权方式控制公司人员权限
#通过visudo编辑/etc/sudoers Runas_Alias OP = root #定义使用sudo的时候以哪个用户执行命令,一般都是使用root #命令别名 Cmnd_Alias NETW ...
- mysql零散操作
添加对外用户 CREATE USER 'admin'@'%' IDENTIFIED BY '!QAZ2wsx'; GRANT ALL PRIVILEGES ON *.* TO 'admin'@'%'; ...
- TP5数据库操作方法总结
一.TP5数据库操作方法 1.name()方法 作用 : 指定默认的数据表名(不含前缀) 示例 : Db::name('weiba_post'); 返回 : ...
- mysql 5.7初始化默认密码错误
下载了一个mysql 5.7.17的安装包后,安装后怎么都启动不了,好在mysql安装是成功了,没办法只有使用命令行重新初始化设置了 我的mysql安装根目录为:C:\Program Files\My ...