用MATLAB的GUI实现文本的简单加密原理

来源:互联网 发布:java 方法重载 编辑:程序博客网 时间:2024/06/08 17:16

      用MATLAB实现文本内容简单加密的原理很简单,就是将文本文件中的文字的ASCII码按一定的算法转换成一组似乎毫无意义的代码。要解密时只要将这些代码做该算法的逆运算,并转换成字符显示出来就行。原理就这样,是不是很简单呢?这里仅提供简单的算法实例:  

加密:

 


 

  function ToCode_pushbutton_Callback(hObject, eventdata, handles)

%ToCode_pushbutton为按钮的Tag  

ra=fix(mean(double(get(handles.op_edit,'string'))));%取整避免舍入误差

% ra为加密算子,是由用户输入且仅有用户本人知道的字符串转换而来,这里的转换算法是将字符串中的字符求

%其ASCII码的平均值,作为加密算子ra的值。

 text=get(handles.Text_Edit,'String'); %得到要转换的文本内容  

code=double(text); %取得文本内容的ASCII码数组

encode=code*ra+ra;%转换成要显示的编码

code_disp=num2str(encode); %将编码转换成字符串,便于显示  

set(handles.Code_Edit,'String',code_disp)%显示转换后的结果


 

 

解密:

 


 

function ToText_pushbutton_Callback(hObject, eventdata, handles)

ra=fix(mean(double(get(handles.op_edit,'string'))));

code_disp=get(handles.Code_Edit,'String');

code=str2num(code_disp);

text=char((code-ra)/ra);

set(handles.Text_Edit,'String',text)

 


 

这样我们就完成了简单的加密和解密过程,如:

七步诗

煮豆持作羹,漉菽以为汁。

萁在釜下燃,豆在釜中泣。

本是同根生,相煎何太急?

在密码算子为“曹植”的情况下的转换码为:

531794444   732082738   953246600      878691      878691      878691      878691      878691      878691      878691      878691      878691773221453   956202197   674887942   540980759   870649646  1738556711   756899102   899726330   537812146   533258929   737940678   327272457899832838   594128251   994278807   532007460   775484748  1738556711   956202197   594128251   994278807   532912778   742254252   327272457703298951   696562320   572933159   710461614   798383968  1738556711   810978539   772369389   540794370   607814529   655396978     1704128   878691      878691      878691      878691      878691      878691      878691      878691      878691      878691      878691      878691   878691      878691      878691      878691      878691      878691      878691      878691      878691      878691      878691      878691

这是一段没有看似意义的数字编码,由上述编码和算子“曹植”就可还原出七步诗来了。

但是如果在解密时用了错误的算子,如“曹操”,我们将会看到还原出的文本为:

侣涢軁        

珋輲攑儃艢 煙蚽傊俛溃 

蛁壹铦侫琢 輲壹铦俎漨 

楒桐嗌橥瞐 祳玪僼嬆戦@

这是一堆毫无意义的乱码,很难看出原文的内容,从而起到对原始数据的保密作用。

原创粉丝点击