📄 vigenere.m
字号:
%实现Vigenere体制简单多表加法密码
clear;
clc;
A='abcdefghijklmnopqrstuvwxyz';%对英文字母与整数集建立一一对应关系,每一个字母对应其下标
m=input('输入密钥:','s');%设置密钥,存入字符数组m
%得到密钥对应的编码
for i=1:size(m,2)
C(i)=findstr(m(i),A);
end
xx=input('输入明文:','s');%提示用户输入要加密的明文,将明文存入xx中
%以下对明文进行加密
mm=0;%作为标记,记录输入明文的空格,以便加密
for i=1:size(xx,2)
if findstr(xx(i),A)
x=C(mod(i-mm-1,size(C,2))+1);
y=findstr(xx(i),A);
miwen(i-mm)=A(mod(x+y-2,26)+1);
else
mm=mm+1;
end
end
['密文为:' miwen]
%对密文进行解密
yy=input('输入密文','s');
yy=lower(yy);
for i=1:size(yy,2)
x=C(mod(i-1,size(C,2))+1);
y=findstr(yy(i),A);
mingwen(i)=A(mod(y-1-x+2-1,26)+1);
end
['明文为:' mingwen]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -