nyoj771密钥解密
来源:互联网 发布:企业数据安全 编辑:程序博客网 时间:2024/06/05 19:02
密钥解密
时间限制:1000 ms | 内存限制:65535 KB
难度:1
- 描述
- 密钥加密是将密钥数字串值循环加到明文(需要加密的文字串)上,使得明文变形而不可阅读,变形后的文字串称为密文。例如,密钥为4972863,明文为“the result of 3 and 2 is not 8”,则循环加密的过程及结果为:即密文为:xql"zkvyu "wl#7)hpl&5$rz"vuw$A这里的密钥加密是循环加密,并且在ASCII码值32(’ ’)到122(’z’)之间做模运算,超过了122的值便依次回跳到32,33,...等值。例如,’t’+7=116+7=123=122+1,其值超过122一个位置,因此回跳到值32。显然,密文也全部是由可见字符所组成。
- 输入
- 输入数据中含有若干组数据,每组数据由密钥和明文组成,密钥和明文均单独占一行。每组数据之间没有空行。
- 输出
- 对于每组数据,对应输出一行密文。
- 样例输入
4972863the result of 3 and 2 is not 8123Hello World
- 样例输出
xql"zkvyu "wl#7)hpl&5$rz"vuw$AIgomq#Xqumf
题意很清楚,做了这题学到了 char 的范围是 0-128 有些情况会超出变成负值 所以改了int就过了, 然后题上范围没给出,开大点才能过
#include<stdio.h>#include<string.h>char s[10005];char a[10005];int main(){ while(~scanf("%s",a)) { getchar(); gets(s); int m=strlen(s); int n=strlen(a); int j=0; for(int i=0; i<m; i++) { int ch=a[j]-'0'+s[i];//如果char ch;值可能超过128而char的范围是0-128,所以用int if(ch>122) { printf("%c",ch%122+31); } else { printf("%c",ch); } j++; if(j==n) { j=0; } } printf("\n"); }}
0 0
- NYOJ771,密钥解密
- nyoj771密钥解密
- SQL2005 密钥加密解密
- 生成密钥,解密钥
- 加密解密---非对称密钥/对称密钥
- 带密钥的加解密
- md5加密 密钥加密解密
- NY--771 -- 密钥解密 [ASCII]
- 文件加解密 - 密钥保存
- Windows7 注册表byte[]密钥解密
- 771 密钥解密【字符串处理】
- 密钥协商与加解密
- 使用密钥加密、解密实例
- java加密解密--密钥库,密钥格式-01
- 生成加密和解密的密钥
- [引]生成加密和解密的密钥
- JavaScript利用密钥加密与解密
- java加解密-密钥长度限制问题
- 安卓NDK开发-实现图片的高效压缩
- 手机验证码
- break or continue java 8 stream lambda foreach(loop)
- [C++杂谈——effective C++略读]C++的构造、析构和赋值
- Transaction Isolation Level
- nyoj771密钥解密
- 1079. Total Sales of Supply Chain
- mac python链接数据库
- 551nod-【1138 连续整数的和】
- 补充:MongoDB的理论知识
- js作业--自己写
- UVAlive6911 思维题set
- 拟合二元多次曲线
- 面向对象(一)