编码器和解码器问题

46次意见(最近30天)
Neshant Thiru
Neshant Thiru 2020年4月27日
回答: 迪帕克·古普塔 2020年4月27日
目前,我正在做一个脚本,写和加密不管用户输入到一个文本文件中。除了读取该文本文件和解码加密。我已经总算拿到剧本工作的编码部分。
这是我必须使用的脚本,用于将输入数据嵌入到文本文件中
%%编码器脚本
函数(密码、密钥)=编码器(消息)
message_dec =投(消息,“uint8”);将消息导入dcimalh
key_decimal = randi([1 255],1);自动生成密码密钥
key_binary = de2bi(key_decimal,8,“left-msb”);
密码=' ';
m = 1:长度(消息)
message_binary = de2bi (message_dec (m), 8日“left-msb”);
cipher_binary = xor (message_binary key_binary);
cipher_dec = bi2de (cipher_binary,“left-msb”);
密码(m) = (cipher_dec“字符”);从编码器函数返回密码
结束
关键= key_binary;%从编码器返回键
第二个是解码脚本,用于解码和输出加密的输入
% %译码器脚本
函数消息=解码器(密文,键)
n =长度(密文);
密文= uint8(密文);
bkey = de2bi(8,关键“left-msb”);
textmessage =' ';
m = 1: n
message_binary = xor (de2bi(密文(m) 8“left-msb”), bkey);
message_dec = bi2de(message_binary,“left-msb”);
textmessage (m) = message_dec;%%<——这一行有问题
结束
消息= textmessage;%从编码器返回键
第三个是回叫,读和写脚本。
清楚,clc
消息=输入(的输入信息:,“年代”);
%调用编码器函数h
[encoded_text、关键]=编码器(消息);
流('加密消息为:%s\n', encoded_text);
decoded_text =解码器(消息键);%%<——这一行也有问题
%写入编码信息到一个文本文件
fid = fopen (“mycode.txt”,' w ');%打开文件进行写访问'w'
写入文件(fid,消息);%写消息打开文件
文件关闭(fid);重要,必须释放文件回操作系统后,我们完成
明确消息
%从文本文件中读取编码的消息
fid = fopen (“mycode.txt”,“r”);%打开文件进行读访问'r'
消息=从文件中读(fid);%从文件中读取数据
文件关闭(fid);重要,必须释放文件回操作系统后,我们完成
流('解密的消息为:%s\n',decoded_text);

0评论

登录并发表评论。

接受的答案

迪帕克·古普塔
迪帕克·古普塔 2020年4月27日
嗨Neshant,
你的代码是除了一对夫妇失误几乎是正确的。
在读写脚本中,需要将封装的消息作为输入提供给decoder函数。
即。
decoded_text =解码器(encoded_text键);
在解码器函数中,您的密钥已经是二进制格式,所以您不需要再次将其转换为二进制格式,这将导致向量大小的不匹配。
% %译码器脚本
函数消息=解码器(密文,键)
n =长度(密文);
密文= uint8(密文);
% bkey = de2bi(关键8“left-msb”);
textmessage =' ';
m = 1: n
message_binary = xor (de2bi(密文(m) 8“left-msb”),键);
message_dec = bi2de(message_binary,“left-msb”);
textmessage (m) = char (message_dec);%%<——这一行有问题
结束
消息= textmessage;%从编码器返回键
欢呼。
迪帕克

0评论

登录并发表评论。

更多的答案(0)

下载188bet金宝搏


释放

R2020a