?? hashreplacement.m
字號:
function [row,col]=hashreplacement(matrix,quantity,key1,key2,key3)
%記錄載體矩陣大小
[X,Y]=size(matrix);
%初始化row和col
row=zeros([1,quantity]);
col=zeros([1,quantity]);
j=zeros([1,quantity]);
for i=1:quantity
v=round(i/X);
u=mod(i,X);
v=mod(v+md52num(md5(u+key1)),Y);
u=mod(u+md52num(md5(v+key2)),X);
v=mod(v+md52num(md5(u+key3)),Y);
j(i)=v*X+u+1;
col(i)=mod(j(i),Y);
row(i)=j(i)/Y;
row(i)=double(unit8(row(i)))+1;
if col(i)==0
col(i)=Y;
row(i)=row(i)-1;
end
end
%hashreplacement的子函數(shù)用以將MD5碼轉(zhuǎn)化成數(shù)字
function result=md52num(md5code)
result=0;
for i=1:32
result=result+table(md5code(i))*i;
end
%hashreplacement的子函數(shù)用以查表轉(zhuǎn)換16進制字符為數(shù)字
function a=table(character);
switch character
case'0',a=0;case'1',a=1;case'2',a=2;case'3',a=3;case'4',a=4;
case'5',a=5;case'6',a=6;case'7',a=7;case'8',a=8;case'9',a=9;
case'10',a=10;case'b',a=11;case'c',a=12;case'd',a=13;
case'e',a=14;otherwise,a=15;
end
%md5函數(shù)相應(yīng)的.dll文件可以從mathwork網(wǎng)站下載
%www.mathworks.com/MATLABcentral/fileexchange/loadFile.do? objectId=3784&objectType=File
function y=md5(M)
y=md5dll(M);
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -