《密码学》第一次作业

上传人:cn****1 文档编号:494459915 上传时间:2024-01-12 格式:DOC 页数:11 大小:76KB
返回 下载 相关 举报
《密码学》第一次作业_第1页
第1页 / 共11页
《密码学》第一次作业_第2页
第2页 / 共11页
《密码学》第一次作业_第3页
第3页 / 共11页
《密码学》第一次作业_第4页
第4页 / 共11页
《密码学》第一次作业_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《《密码学》第一次作业》由会员分享,可在线阅读,更多相关《《密码学》第一次作业(11页珍藏版)》请在金锄头文库上搜索。

1、密码学第一次作业姓名:蒙寿伟 班级:智能141 学号:0812题目一:desig animlemnt ubstituon ipher ogram fo Engish alphabt bt ncrypton and dcryption progrm设计和实现一种替代密码程序对英语字母加密和解密程序题目二:designandimplemen a sbstittin ciphe progamorCise lphaet both cypion rograms设计和实现一种替代密码程序对英语字母加密和解密程序规定:ource code,lab eport(esn mplementtin ecetn ha

2、ning / peromance tests)实验环节:思路:1. 加密:随机生成一种秘钥ky,对输入的明文的含空格的位设立为;其他的每一位进行替代操作: t tmp = pext+ ; / 偏移后的SC码,将所有位都拼接起来即可得到密文了。解密:对输入的密文,含符号的字符转换为空格,其他的每一位进行替代操作:int temp=ctext - ; i = (cha)mp; 将所有的字符拼接起来即可得到明文。下面是重要算法过程:/*主函数*/ub stac vid man(Strng arg)/TODOAuto-genratd ethod stubnewMain(字母和中文通用-加密与解密系统)

3、;/*生成秘钥*/ intseKy() itk=0; Rndom r =w Rdm(); k=r.nextIt(5535); key=+5;retun k; /*加密*/ void encrypon(a px) cihertetStr = newStrinBufr(); iperet =nw caax; for (nt j =; tet.length;j+) ciphetet = ; / 设立临时变量将数组填充,因明文中可存在 空,因此需要填充判断 for (int = ; j ptext.lgth;j+) if(ptextj= ) pextj ;/ 设立临时变量将数组填充,因明文中可存在空,

4、因此需要填充判断 for (int i = ; i ptexteng;i+) f (ptext != ) i tp= ptexi ey; / 偏移后的CII码 ciphetext=(chr)emp; /加密符号 cpertxttr.appe(phertexti); /拼接字符串 else ciphetett.appnd(pexi); *解密*/ void deciphering(chrcet,i ) plainttStr = new StringBuffer(); Sytem.oprntln(ctet.ength+k); har c = ew chamax; for (int 0; i cte

5、t.lnth; +) i (tx != ) ittmp ctexti -; ci= (har)temp; lantexttrpend(ci); / 拼接解密字符串 se paintextSt.apend( ); 程序的实验成果:原始界面:加密与解密的界面:成果阐明:解密成果与加密成果相应。附件:pakage com.msw.cryptloye;impor ava.awt.BodeLaot;iport java.wtDinsi;ior jaa.event.ActionEvent;ipor java.wt.evnt.ActioLstener;mpot aa.til.Randm;pravaswing

6、.JButon;iprt jax.ngJFme;pot x.wi.JLabel;import ax.sig.JPa;importjaxwig.JScrolne;ipor jaax.sig.JSitane;import jax.sing.JextFel;pubic lss ainprivte JFae frm;rivate Pnl panelNorth;riv JPanel pnlSout;rite TextFeld te_in_,et_out_N,ext_key_N;priatJTextField e_n_S,ext_out_,ex_key_S;rivte JButton butonNorh;

7、pe Juto buttoSuh; cha ipherte; 密文 int key; hr paintext; /明文 StrinBffe plaitetSr ew tigBffer(); Strigfer cphetetStr = newStringBufer(); ial int ax = 500; / 最大字符 pblicMain(Strin str) / TODO uto-geratd consructr tubame =new JFra(str);frame.tLayout(newBoerLau(0,));re.seSie(ne Dimenson(60,330);/加密过程的面板pa

8、nelNrt ne JPanel(ne BorderLy(0,2);text_iN e JTetFiel(明文输入); x_in_N.stHorizontaAlignment(JTextFed.LEDIN);text_N.setPreredSe(new Diensin(00, 80);text_ou_N = new JTxtild(密文输出);text_otN.erefrrdSiz(nwDimesin(20,30));text_key_N new JTxFeld(密钥输出);text_key_.etPreferredSize(newDimensin(0, 30));JSplitPne spit

9、PneNew pitPan(JplPane.RTICAL_SPIT,fals,e crllPane(tt_ou),nw JSrolPe(tekey_);buttnNor new JButo(转换);JPaeljnoth = eJPael(newBorderLayout();jnortdd(nwJae(),BodrLayot.WET);jnrthdd(neJLabl(),BoreLaouEAS);jnt.add(buttonorh,Bordeayout.CENTR);pnelNorthad( Label(加密过程:),BorderLaou.ORH);paeNortadd(ne JScrolPne

10、(tet_nN),ordeayout.WEST);paneNorthad(jnorth,rderLout.CENE);paneNorth.add(spltPaeN,Bordrayut.EAT);/解密过程的面板anlth= w Janel(neorerayout(5,20));textin_S=new Textield(明文输出);text_in_S.setrfeedSze(nwDimension(20,0);te_out_S new JtFild(密文输入);ext_out_S.setrerredSie(ew Dimnson(200, 30);tet_kyS = e JTexti(密钥输入);tet_key_S.tPreredS(w imei(200, 30);JSplitane sliPanS=ew Sliae(JSplitPn

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号