matlab cpu使用率达不到100,运行matlab程序,CPU占用率100%,高手帮忙解答!

% 函数文件名 hashreplacement.m

% 函数功能 本函数将利用MD5函数产生随机的无碰撞的像素选择策略

% 输入函数举例 [row,col] = hashreplacement(test,60,1983,421,1121)

% 参数说明

% matrix 为载体矩阵

% quantity 为要嵌入的信息的数量(要选择的像素数量)

% key1,key2,key3为三个密钥

% row 为伪随机输出的像素行标

% col 为伪随机输出的像素列标

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);

q = u+key1;

s = v+key2;

t = u+key3;

v = mod(v+md52num(m),Y);

u = mod(u+md52num(n),X);

v = mod(v+md52num(w),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 m = md5(q);

function n = md5(s);

function w = md5(t);

% hashreplacement 的子函数用以将MD5码转成数字

function result = md52num(md5code)

result = 0;

for i = 1:32

result = result + table(md5code(i))*i;

end

% hashreplacement 的子函数用以查表转换16进制字符为数字

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);

请各位看完之后,对里面的错误给予指出来,最好能提供解决的办法,谢谢!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值