维吉尼亚加密算法是法国外交官布莱斯.德.维吉尼亚发明的使用多字母映射的策略,其思想不是对整个消息使用一个密钥,而是对消息的每个字母使用不同的密钥。
维吉尼亚加密算法的密钥是维吉尼亚方阵,该方阵的每一行是对字母表的字母向左移动一个位置。当一个字母从第一列移出时,它会移动到右边的末尾。方阵形式如下图所示。

例如:密码为abc,对明文i like pytho
维吉尼亚加密算法是法国外交官布莱斯.德.维吉尼亚发明的使用多字母映射的策略,其思想不是对整个消息使用一个密钥,而是对消息的每个字母使用不同的密钥。
维吉尼亚加密算法的密钥是维吉尼亚方阵,该方阵的每一行是对字母表的字母向左移动一个位置。当一个字母从第一列移出时,它会移动到右边的末尾。方阵形式如下图所示。

例如:密码为abc,对明文i like python加密,空格不加密,对应的密文如下所示:

编程实现维吉尼亚加密算法。
注:输入的均为小写字母,空格不加密
### 输入格式:
第一行输入密码
第二行输入明文
### 输出格式:
输出加密后的密文
### 输入样例:
in
sun
what a nice day today
### 输出样例:
out
obnl n hvuy vul nbvul
答案:若无答案欢迎评论
1)初始化结果字符串为一个空字符串;
2)迭代明文消息中的每个字母
(a)确定应该使用密钥中的哪个字母
(b)在维吉尼亚方阵中查找行是密钥字母、列是明文字母所对应的密文字母
(c)将密文字母添加到密文消息中
3)将结果字符串作为密文消息返回
维吉尼亚加密算法的密钥是维吉尼亚方阵,该方阵的每一行是对字母表的字母向左移动一个位置。当一个字母从第一列移出时,它会移动到右边的末尾。方阵形式如下图所示。

例如:密码为abc,对明文i like python加密,空格不加密,对应的密文如下所示:

编程实现维吉尼亚加密算法。
注:输入的均为小写字母,空格不加密
### 输入格式:
第一行输入密码
第二行输入明文
### 输出格式:
输出加密后的密文
### 输入样例:
in
sun
what a nice day today
### 输出样例:
out
obnl n hvuy vul nbvul
答案:若无答案欢迎评论
1)初始化结果字符串为一个空字符串;
2)迭代明文消息中的每个字母
(a)确定应该使用密钥中的哪个字母
(b)在维吉尼亚方阵中查找行是密钥字母、列是明文字母所对应的密文字母
(c)将密文字母添加到密文消息中
3)将结果字符串作为密文消息返回