-->
当前位置:首页 > 题库 > 正文内容

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


![image.png](~/3f226b26-be94-46f7-b48f-b977bd7917dc.png)

例如:密码为abc,对明文i like pytho

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


![image.png](~/3f226b26-be94-46f7-b48f-b977bd7917dc.png)

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


![image.png](~/885b1f6b-c888-4da2-86b3-d228e33f5e1c.png)

编程实现维吉尼亚加密算法。
注:输入的均为小写字母,空格不加密
### 输入格式:

第一行输入密码
第二行输入明文

### 输出格式:

输出加密后的密文

### 输入样例:

in
sun
what a nice day today


### 输出样例:

out
obnl n hvuy vul nbvul







答案:若无答案欢迎评论

1)初始化结果字符串为一个空字符串;
2)迭代明文消息中的每个字母
(a)确定应该使用密钥中的哪个字母
(b)在维吉尼亚方阵中查找行是密钥字母、列是明文字母所对应的密文字母
(c)将密文字母添加到密文消息中
3)将结果字符串作为密文消息返回

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。