hzCPPOJ

凯撒密码

时间限制:  1 s      内存限制:   128 MB
提交:4     正确:4     分值:99

题目描述

凯撒密码是一种非常古老的加密方法,相传当年凯撒大帝行军打仗时为了保证自己的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。它的原理是字母与字母之间的替换。例如26个字母都向后移动K位。若K等于2,则A用C代替,B用D代替,以此类推。该算法比较简单,很容易实现,但是作为加密算法,特别容易被破解

为了让加密后的密文更难被破解,大将苏定方想出一个更妙的方法:不再将每个字母移动常位数,而是利用一个密钥值序列将每个字母移动不同的位数。如果消息原文的长度大于密钥值序列的长度,则可以对密钥值序列循环使用。要求只对输入信息原文中的字母进行密码,非字母不需要加密。

如密钥值序列为3 2 5 1,信息原文为 AbcDfax#,那么利用密钥值序列对A移动3位为D,b移动2位为d,c移动5位为h,D移动1位为E,f移动3位为i,a移动2位为c,x移动5位为c。

则加密后的密文为:DdhEicc

输入

1行输入信息原文,以#号结束。

2行输入密钥值序列,密钥值间用空格分割,以*号结束。

输出

输出加密后的密文。

样例

样例输入:
abCz# 1 2 *
样例输出:
bdDb

提交人

spiritatu