新型密码
- 描述
-
Y同学学习了凯撒密码(凯撒密码是一种替换加密技术,明文中的所有字母都在字母表上向后(或向前)按照一个固定数目进行偏移后被替换成密文。)之后,认为所有字母都进行同样的位移很容易被其他人解密。于是他想自己设计一种加密技术用于日常与同学进行对话和交流。
于是他设计规则如下:
初识时对话双方拥有同样的密钥。密钥为一串字母。
对文本进行加密时,采取的操作为:
1. 对于文本中的数字,对数字的每一位都进行按值向后位移并取模10。位移距离为密钥长度。例如密钥长度为4时,文本中的86则加密为20. (8->2, 6->0)
2. 对于文本中的字母,如果字母在密钥中(区分大小写),则不进行位移。
3. 对于文本中的字母,如果字母不在密钥中,则进行位移。位移距离为密钥长度。位移规则跟凯撒密码一样,且保持大小写。例如密钥长度为4时,文本中的Xyj被加密为Bcn
4. 对于空格标点等字符,不进行位移。 - 输入
- 第一行为密钥,第二行为需要加密的文本。
- 输出
- 输出加密后的文本。
- 样例输入
-
xjaa Xy 8j,6a
- 样例输出
-
Bc 2j,0a
- 提示
- 事实上这个密码规则是不够好的,因为存在非一一映射。不过这是解密端的问题了,Y同学认为日常应用不需要那么严谨,让Y同学的朋友们靠默契去猜吧!