?? vigenere.m
字號(hào):
%實(shí)現(xiàn)Vigenere體制簡(jiǎn)單多表加法密碼
clear;
clc;
A='abcdefghijklmnopqrstuvwxyz';%對(duì)英文字母與整數(shù)集建立一一對(duì)應(yīng)關(guān)系,每一個(gè)字母對(duì)應(yīng)其下標(biāo)
m=input('輸入密鑰:','s');%設(shè)置密鑰,存入字符數(shù)組m
%得到密鑰對(duì)應(yīng)的編碼
for i=1:size(m,2)
C(i)=findstr(m(i),A);
end
xx=input('輸入明文:','s');%提示用戶輸入要加密的明文,將明文存入xx中
%以下對(duì)明文進(jìn)行加密
mm=0;%作為標(biāo)記,記錄輸入明文的空格,以便加密
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]
%對(duì)密文進(jìn)行解密
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]
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -