欢迎来到天天文库
浏览记录
ID:59247444
大小:17.94 KB
页数:2页
时间:2020-09-08
《对称密码算法验证.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.DES对称密码算法验证packageDES;importjava.security.InvalidKeyException;importjava.security.Key;importjava.security.NoSuchAlgorithmException;importjava.security.SecureRandom;importjava.security.spec.InvalidKeySpecException;importjavax.crypto.Cipher;importjavax.crypto.SecretKey;importjavax.cry
2、pto.SecretKeyFactory;importjavax.crypto.spec.DESKeySpec;publicclassDESConfirm{publicstaticbyte[]encrypt(byte[]datasource,Stringpassword){try{SecureRandomrandom=newSecureRandom();DESKeySpecdesKey=newDESKeySpec(password.getBytes());SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance
3、("DES");SecretKeysecurekey=keyFactory.generateSecret(desKey);Ciphercipher=Cipher.getInstance("DES");cipher.init(Cipher.ENCRYPT_MODE,securekey,random);returncipher.doFinal(datasource);}catch(Throwablee){e.printStackTrace();}returnnull;}publicstaticbyte[]decrypt(byte[]src,Stringpassword
4、)throwsException{SecureRandomrandom=newSecureRandom();DESKeySpecdesKey=newDESKeySpec(password.getBytes());SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES");SecretKeysecurekey=keyFactory.generateSecret(desKey);Ciphercipher=Cipher.getInstance("DES");cipher.init(Cipher.DECRY
5、PT_MODE,securekey,random);returncipher.doFinal(src);}}Main.javapackageDES;importsun.security.krb5.internal.crypto.Des;importjavax.crypto.spec.DESKeySpec;importjava.io.IOException;importjava.util.Vector;publicclassmain{publicstaticvoidmain(String[]args){IOio=newIO();io.GetPlainText("C:
6、\Users\Administrator\workspace\Cryptology\src\DES\PlainText.text");Stringstr=io.getPlainText();DESdes=newDES();//密码,长度要是8的倍数//Stringpassword="";Stringpassword="computer";byte[]result=DES.encrypt(str.getBytes(),password);Stringencryresult=newString(result);System.out.print("加密后:
7、");System.out.println(encryresult);io.WriteCipher("C:\Users\Administrator\workspace\Cryptology\src\DES\Cipher.text",encryresult);//直接将如上内容解密try{byte[]decryResult=DES.decrypt(result,password);System.out.println("解密后:"+newString(decryResult));}catch(Exceptione1){e1.printStackTrac
8、e();}
此文档下载收益归作者所有