欢迎来到天天文库
浏览记录
ID:8799292
大小:31.50 KB
页数:3页
时间:2018-04-08
《des加解密的封装和使用的例子》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、DES加解密的封装和使用的例子原创:zhouxianli1978@msn.com ,欢迎喜欢Java的网友加我DES加密封装packageorg.jtool.desutils;importjava.security.SecureRandom;importjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESEncrypt{ privatebyte[]desKey; publicDESEncrypt(byte[]desKey){ this.des
2、Key=desKey; } publicbyte[]doEncrypt(byte[]plainText)throwsException{ // DES算法要求有一个可信任的随机数源 SecureRandomsr=newSecureRandom(); byterawKeyData[]=desKey;/*用某种方法获得密匙数据*/ //从原始密匙数据创建DESKeySpec对象 DESKeySpecdks=newDESKeySpec(rawKeyData);
3、 //创建一个密匙工厂,然后用它把DESKeySpec转换成 //一个SecretKey对象 SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance("DES"); SecretKeykey=keyFactory.generateSecret(dks); //Cipher对象实际完成加密操作 Ciphercipher=Cipher.getInstance("DES"); //用密匙初始化Cipher对象
4、 cipher.init(Cipher.ENCRYPT_MODE,key,sr); //现在,获取数据并加密 bytedata[]=plainText;/*用某种方法获取数据*/ //正式执行加密操作 byteencryptedData[]=cipher.doFinal(data); returnencryptedData; }}DES解密封装packageorg.jtool.desutils;importjava.security.SecureRandom;imp
5、ortjavax.crypto.*;importjavax.crypto.spec.DESKeySpec;publicclassDESDecrypt{ privatebyte[]desKey; publicDESDecrypt(byte[]desKey){ this.desKey=desKey; } publicbyte[]doDecrypt(byte[]encryptText)throwsException{ // DES算法要求有一个可信任的随机数源 SecureRando
6、msr=newSecureRandom(); byterawKeyData[]=desKey;/*用某种方法获取原始密匙数据*/ //从原始密匙数据创建一个DESKeySpec对象 DESKeySpecdks=newDESKeySpec(rawKeyData); //创建一个密匙工厂,然后用它把DESKeySpec对象转换成 //一个SecretKey对象 SecretKeyFactorykeyFactory=SecretKeyFactory.getInstance
7、("DES"); SecretKeykey=keyFactory.generateSecret(dks); //Cipher对象实际完成解密操作 Ciphercipher=Cipher.getInstance("DES"); //用密匙初始化Cipher对象 cipher.init(Cipher.DECRYPT_MODE,key,sr); //现在,获取数据并解密 byteencryptedData[]=encryptText;/*获得经过加密的数据*/
8、 //正式执行解密操作 bytedecryptedData[]=cipher.doFinal(encryptedData); returndecryptedData;
此文档下载收益归作者所有