melody510515
2009-03-18, 15:57
错误
??? One or more output arguments not assigned during call to 'hashreplacement (md5)'.
Error in F:\毕业设计\1\hashreplacement.m
On line 20 v = mod(v+md52num(md5(u+key1)),Y);
程序如下
md5.m 和 md5dll.dll 跟 这个程序放在同个目录下.
function[row,col] = hashreplacement(matrix,quantity,key1,key2,key3)
[X,Y] = size(matrix);
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); matlab提示错误在此行
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(uint8(row(i)))+1;
if col(i) == 0
col(i) = Y;
row(i) = row(i)-1;
end
end
function result = md52num(md5code)
result = 0;
for i = 1:32
result = result + table(md5code(i))*i;
end
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 'a',a=10; case 'b',a=11; case 'c',a=12; case 'd',a=13;case 'e',a=14; otherwise a=15;
end
function y=md5(M);
function y=md5dll(M);
请问各位高手,要怎么修改,重点是md52num
谢谢.
??? One or more output arguments not assigned during call to 'hashreplacement (md5)'.
Error in F:\毕业设计\1\hashreplacement.m
On line 20 v = mod(v+md52num(md5(u+key1)),Y);
程序如下
md5.m 和 md5dll.dll 跟 这个程序放在同个目录下.
function[row,col] = hashreplacement(matrix,quantity,key1,key2,key3)
[X,Y] = size(matrix);
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); matlab提示错误在此行
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(uint8(row(i)))+1;
if col(i) == 0
col(i) = Y;
row(i) = row(i)-1;
end
end
function result = md52num(md5code)
result = 0;
for i = 1:32
result = result + table(md5code(i))*i;
end
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 'a',a=10; case 'b',a=11; case 'c',a=12; case 'd',a=13;case 'e',a=14; otherwise a=15;
end
function y=md5(M);
function y=md5dll(M);
请问各位高手,要怎么修改,重点是md52num
谢谢.