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 ...
随机推荐
- 新增自定义聚合函数StrJoin
1.添加程序集Microsoft.SqlServer.Types CREATE ASSEMBLY [Microsoft.SqlServer.Types] AUTHORIZATION [sys] FRO ...
- PHP的模板引擎smarty原理浅谈
mvc是开发中的一个伟大的思想,使得开发代码有了更加清晰的层次,让代码分为了三层各施其职.无论是对代码的编写以及后期的阅读和维护,都提供了很大的便利. 我们在php开发中,视图层view是不允许有ph ...
- js中(break,continue,return)的区别
break 一般用于跳出整个循环(for,while) continue 跳出本次循环,进入下一次循环 return 只能出现在函数体内,一旦执行return,后面的代码将不会执行,经常用retur ...
- PHP中MySQL数据库连接,数据读写,修改方法
MySQL连接大的来说有两种方法,一种是mysqli,另一种是mysql.php为连接MySQL提供了函数库,有mysql和mysqli,mysqli是mysql函数库的扩展,是php5才支持的.当你 ...
- IOS 绘制条纹背景
@interface NJViewController () @property (weak, nonatomic) IBOutlet UITextView *contentView; - (IBAc ...
- BZOJ 2502: 清理雪道
BZOJ 2502: 清理雪道 标签(空格分隔): OI-BZOJ OI-最小流 OI-上下界网络流 Time Limit: 10 Sec Memory Limit: 128 MB Descripti ...
- 2018.6.18 MyEclipse导入jquery-1.8.0.min.js等文件报错的解决方案
MyEclipse导入jQuery-1.8.0.min.js等文件的时候有时候会报了一堆missing semicolon的错误.怎么解决这个报错呢?方法如下: 1.选中报错的jquery文件例如&q ...
- AOSP常见漏洞类型简介
Heap/Stack Overflow(CVE-2017-0541) 漏洞出现在PushcdlStack函数中,如下所示 # /external/sonivox/arm-wt-22k/lib_sr ...
- 什么是SAD,SAE,SATD,SSD,SSE,MAD,MAE,MSD,MSE?
SAD(Sum of Absolute Difference)=SAE(Sum of Absolute Error)即绝对误差和 SATD(Sum of Absolute Transformed Di ...
- python 读取mat文件
import osimport scipy.io as sio import numpy as np #matlab文件名 matfn='/home/user/devkit/data/meta_det ...