1 / 9
文档名称:

md5加密解密.docx

格式:docx   大小:15KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

md5加密解密.docx

上传人:鼠标 2023/5/4 文件大小:15 KB

下载得到文件列表

md5加密解密.docx

文档介绍

文档介绍:该【md5加密解密】是由【鼠标】上传分享,文档一共【9】页,该文档可以免费在线阅读,需要了解更多关于【md5加密解密】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。.*;.*;.*;.*;.*;.*;.*;/**文件名:::文件加密加密方法:三重DES加密加密过程:对选中的文件加密后在同文件夹下生成一个增加了".tdes"扩展名的加密文件解密过程:对选中的加密文件(必须有".tdes"扩展名)进行解密*/lassFileEncrypterextendsJFrame{publicstaticfinalintWIDTH=550;publicstaticfinalintHEIGHT=200;publicstaticvoidmain(Stringargs[]){FileEncrypterfe=newFileEncrypter();();}FileEncrypter(){(WIDTH,HEIGHT);();(false);Toolkittk=();DimensionscreenSize=();((-WIDTH)/2,(-HEIGHT)/2);("文件加密器(TriDES)");Containerc=();(newFlowLayout());finalFilePanelfp=newFilePanel("文件选择");(fp);finalKeyPanelpp=newKeyPanel("密码");(pp);JButtonjbE=newJButton("加密");(jbE);(newActionListener(){publicvoidactionPerformed(ActionEventevent){Filefile=newFile(());if(())encrypt((),());(null,"请选择文件!","提示",);}});JButtonjbD=newJButton("解密");(jbD);(newActionListener(){publicvoidactionPerformed(ActionEventevent){Filefile=newFile(());if(())decrypt((),());(null,"请选择文件!","提示",);}});}/**加密函数输入:要加密的文件,密码(由0-F组成,共48个字符,表示3个8位的密码)如:AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746其中:AD67EA2F3BE6E5ADDES密码一D368DFE03120B5DFDES密码二92A8FD8FEC2F0746DES密码三输出:对输入的文件加密后,保存到同一文件夹下增加了".tdes"扩展名的文件中。*/privatevoidencrypt(FilefileIn,StringsKey){try{if(()==48){byte[]bytK1=getKeyByStr((0,16));byte[]bytK2=getKeyByStr((16,32));byte[]bytK3=getKeyByStr((32,48));FileInputStreamfis=newFileInputStream(fileIn);byte[]bytIn=newbyte[(int)()];for(inti=0;i<();i++){bytIn[i]=(byte)();}//加密byte[]bytOut=encryptByDES(encryptByDES(encryptByDES(bytIn,bytK1),bytK2),bytK3);StringfileOut=()+".tdes";FileOutputStreamfos=newFileOutputStream(fileOut);for(inti=0;i<;i++){((int)bytOut[i]);}();(this,"加密成功!","提示",);}(this,"密码长度必须等于48!","错误信息",);}catch(Exceptione){();}}/**解密函数输入:要解密的文件,密码(由0-F组成,共48个字符,表示3个8位的密码)如:AD67EA2F3BE6E5ADD368DFE03120B5DF92A8FD8FEC2F0746其中:AD67EA2F3BE6E5ADDES密码一D368DFE03120B5DFDES密码二92A8FD8FEC2F0746DES密码三输出:对输入的文件解密后,保存到用户指定的文件中。*/privatevoiddecrypt(FilefileIn,StringsKey){try{if(()==48){StringstrPath=();if((()-5).toLowerCase().equals(".tdes"))strPath=(0,()-5);else{(this,"不是合法的加密文件!","提示",);return;}JFileChooserchooser=newJFileChooser();(newFile("."));(newFile(strPath));//用户指定要保存的文件intret=(this);if(ret==){byte[]bytK1=getKeyByStr((0,16));byte[]bytK2=getKeyByStr((16,32));byte[]bytK3=getKeyByStr((32,48));FileInputStreamfis=newFileInputStream(fileIn);byte[]bytIn=newbyte[(int)()];for(inti=0;i<();i++){bytIn[i]=(byte)();}//解密byte[]bytOut=decryptByDES(decryptByDES(decryptByDES(bytIn,bytK3),bytK2),bytK1);FilefileOut=();();FileOutputStreamfos=newFileOutputStream(fileOut);for(inti=0;i<;i++){((int)bytOut[i]);}();(this,"解密成功!","提示",);}}(this,"密码长度必须等于48!","错误信息",);}catch(Exceptione){(this,"解密失败,请核对密码!","提示",);}}/**用DES方法加密输入的字节bytKey需为8字节长,是加密的密码*/privatebyte[]encryptByDES(byte[]bytP,byte[]bytKey)throwsException{DESKeySpecdesKS=newDESKeySpec(bytKey);SecretKeyFactoryskf=("DES");SecretKeysk=(desKS);Ciphercip=("DES");(,sk);(bytP);}/**用DES方法解密输入的字节bytKey需为8字节长,是解密的密码*/privatebyte[]decryptByDES(byte[]bytE,byte[]bytKey)throwsException{DESKeySpecdesKS=newDESKeySpec(bytKey);SecretKeyFactoryskf=("DES");SecretKeysk=(desKS);Ciphercip=("DES");(,sk);(bytE);}/**输入密码的字符形式,返回字节数组形式。如输入字符串:AD67EA2F3BE6E5AD返回字节数组:{173,103,234,47,59,230,229,173}*/privatebyte[]getKeyByStr(Stringstr){byte[]bRet=newbyte[()/2];for(inti=0;i<()/2;i++){Integeritg=newInteger(16*getChrInt((2*i))+getChrInt((2*i+1)));bRet[i]=();}returnbRet;}/**计算一个16进制字符的10进制值输入:0-F*/privateintgetChrInt(charchr){intiRet=0;if(chr=="0".charAt(0))iRet=0;if(chr=="1".charAt(0))iRet=1;if(chr=="2".charAt(0))iRet=2;if(chr=="3".charAt(0))iRet=3;if(chr=="4".charAt(0))iRet=4;if(chr=="5".charAt(0))iRet=5;if(chr=="6".charAt(0))iRet=6;if(chr=="7".charAt(0))iRet=7;if(chr=="8".charAt(0))iRet=8;if(chr=="9".charAt(0))iRet=9;if(chr=="A".charAt(0))iRet=10;if(chr=="B".charAt(0))iRet=11;if(chr=="C".charAt(0))iRet=12;if(chr=="D".charAt(0))iRet=13;if(chr=="E".charAt(0))iRet=14;if(chr=="F".charAt(0))iRet=15;returniRet;}}/**文件选择组件。*/classFilePanelextendsJPanel{FilePanel(Stringstr){JLabellabel=newJLabel(str);JTextFieldfileText=newJTextField(35);JButtonchooseButton=newJButton("浏览...");(label);(fileText);(chooseButton);clickActionca=newclickAction(this);(ca);}publicStringgetFileName(){JTextFieldjtf=(JTextField)(1);();}privateclassclickActionimplementsActionListener{ponentc){cmpt=c;}publicvoidactionPerformed(ActionEventevent){JFileChooserchooser=newJFileChooser();(newFile("."));intret=(cmpt);if(ret==){JPaneljp=(JPanel)cmpt;JTextFieldjtf=(JTextField)(1);(().getPath());}}ponentcmpt;}}/**密码生成组件。*/classKeyPanelextendsJPanel{KeyPanel(Stringstr){JLabellabel=newJLabel(str);JTextFieldfileText=newJTextField(35);JButtonchooseButton=newJButton("随机产生");(label);(fileText);(chooseButton);clickActionca=newclickAction(this);(ca);}//返回生成的密码(48个字符长度)publicStringgetKey(){JTextFieldjtf=(JTextField)(1);();}privateclassclickActionimplementsActionListener{ponentc){cmpt=c;}publicvoidactionPerformed(ActionEventevent){try{KeyGeneratorkg=("DES");(56);Keyke=();byte[]bytK1=();ke=();byte[]bytK2=();ke=();byte[]bytK3=();JPaneljp=(JPanel)cmpt;JTextFieldjtf=(JTextField)(1);(getByteStr(bytK1)+getByteStr(bytK2)+getByteStr(bytK3));}catch(Exceptione){();}}privateStringgetByteStr(byte[]byt){StringstrRet="";for(inti=0;i<;i++){//(byt[i]);strRet+=getHexValue((byt[i]&240)/16);strRet+=getHexValue(byt[i]&15);}returnstrRet;}privateStringgetHexValue(ints){StringsRet=null;switch(s){case0:sRet="0";break;case1:sRet="1";break;case2:sRet="2";break;case3:sRet="3";break;case4:sRet="4";break;case5:sRet="5";break;case6:sRet="6";break;case7:sRet="7";break;case8:sRet="8";break;case9:sRet="9";break;case10:sRet="A";break;case11:sRet="B";break;case12:sRet="C";break;case13:sRet="D";break;case14:sRet="E";break;case15:sRet="F";}returnsRet;}ponentcmpt;}}

最近更新

2024年湖南司法警官职业学院单招职业适应性测.. 93页

2024年福建南平和洁环保科技有限公司招聘笔试.. 147页

2024年聊城市光明电力服务有限责任公司招聘笔.. 147页

2024年达州职业技术学院单招职业适应性测试题.. 97页

2024年金田集团招聘笔试冲刺题及参考答案 147页

2024广东省公务员考试言语理解与表达专项练习.. 115页

[公务员类试卷]言语理解与表达-历年真题试卷及.. 117页

公务员考试行测言语理解语句表达练习题完美版.. 119页

国家公务员行测(言语理解与表达)历年真题往年.. 119页

国考言语理解常见题型最新 118页

河北公务员考试行测言语理解与表达专项强化真.. 117页

行测 言语理解与表达试题汇编 117页

言语理解与表达练习题及完整答案1套 118页

(新版)UTC航拍知识考试题库及参考答案(能力.. 54页

(茅台酒)白酒酿造工职业技能认定-制曲制酒考.. 20页

七年级语文上册第一次月考试卷(人教版) 7页

一年级语文下册第二单元测试卷及答案(苏教版.. 4页

胺碘酮联合维拉帕米治疗难治性室性心动过速的.. 29页

胺碘酮在心源性猝死患者中的应用效果研究 27页

肿瘤放疗的前沿技术与研究进展 29页

肿瘤内科医患沟通中的家属参与和支持研究 33页

肾功能衰竭相关的高血压治疗的专家建议 30页

肝衰竭的急救处理措施与操作 31页

稳评预算方案 3页

结缔组织病相关间质性肺病的神经基础 30页

2020-2021学年江苏省盐城市四年级(下)期末数学.. 15页

XX学校在铸牢中华民族共同体意识教育工作情况.. 5页

学校领导班子考核谈话记录 3页

外墙施工方案(共7页) 7页

西安科技大学院处函件 27页