Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab 如何提取和配对密钥位?_Matlab_Encryption_Input_Passwords_Grouping - Fatal编程技术网

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,[]).';