Matlab 如何提取和配对密钥位?
我想得到一个像Matlab 如何提取和配对密钥位?,matlab,encryption,input,passwords,grouping,Matlab,Encryption,Input,Passwords,Grouping,我想得到一个像'abcdefghijklmnop'这样的键作为输入,然后我想把字符转换成二进制数字(比如我得到128位)。 然后,我想将每个连续的16位配对到一个单独的一位字段中,但这会给出一个错误。如果我正确理解了您的请求(即,将提供的密钥转换为8组16位二进制数字),这就是您尝试执行的操作: function k = q43042300 key=input('Enter the key','s'); keyarr=dec2bin(key,8) temp=1; v=char(zeros(1
'abcdefghijklmnop'
这样的键作为输入,然后我想把字符转换成二进制数字(比如我得到128位)。
然后,我想将每个连续的16位配对到一个单独的一位字段中,但这会给出一个错误。如果我正确理解了您的请求(即,将提供的密钥转换为8组16位二进制数字),这就是您尝试执行的操作:
function k = q43042300
key=input('Enter the key','s');
keyarr=dec2bin(key,8)
temp=1;
v=char(zeros(1,16*8));
for i=1 :16
for j=1:8
v(temp)=keyarr(i,j);
temp=temp+1;
end
end
temp=1;
for i=1:16:128
k(temp)=v(i:i+15) % Error: Subscripted assignment dimension mismatch.
temp=temp+1
end
您不需要循环,只需要一些整形。这是什么错误?赋值应该包含相同数量的元素。您的代码中有多个赋值。这是哪一行的。请详细描述你的问题。还有,我不明白你的计划。你能给出一些输入和输出的例子吗?什么是
k
?它已被使用,但从未定义。
k = reshape(dec2bin(input('Enter the key: ','s'),8).',16,[]).';