欢迎来到天天文库
浏览记录
ID:38214884
大小:83.00 KB
页数:5页
时间:2019-05-25
《基于密码加密》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于密码加密原创作者:snowolf 阅读:35次 评论:0条 更新时间:前天 除了DES,我们还知道有DESede(TripleDES,就是3DES)、AES、Blowfish、RC2、RC4(ARCFOUR)等多种对称加密方式,其实现方式大同小异,这里介绍对称加密的另一个算法——PBEPBE PBE——Password-basedencryption(基于密码加密)。其特点在于口令由用户自己掌管,不借助任何物理媒体;采用随机数(这里我们叫做盐)杂凑多重加密等方法保证数据的安全性。是一种简便的加密方式。通过java代码实现如下:Coder类见
2、单向加密Java代码1.import java.security.Key; 2.import java.util.Random; 3. 4.import javax.crypto.Cipher; 5.import javax.crypto.SecretKey; 6.import javax.crypto.SecretKeyFactory; 7.import javax.crypto.spec.PBEKeySpec; 8.import javax.crypto.spec.PBEParameterSpec; 1. 2./** 3. * PBE安全编码组
3、件 4. * 5. * @author 梁栋 6. * @version 1.0 7. * @since 1.0 8. */ 9.public abstract class PBECoder extends Coder { 10. /** 11. * 支持以下任意一种算法 12. * 13. *
14. * PBEWithMD5AndDES 15. * PBEWithMD5AndTripleDES 16. * PBEWithSHA1AndDESede 17. * PBEWithSH4、A1AndRC2_40 18. *
4、A1AndRC2_40 18. *
5、alt = new byte[8]; 30. Random random = new Random(); 31. random.nextBytes(salt); 32. return salt; 33. } 34. 35. /** 36. * 转换密钥 37. * 38. * @param password 39. * @return 40. * @throws Exception 41. */ 1. private static Ke
6、y toKey(String password) throws Exception { 2. PBEKeySpec keySpec = new PBEKeySpec(password.toCharArray()); 3. SecretKeyFactory keyFactory = SecretKeyFactory.getInstance(ALGORITHM); 4. SecretKey secretKey = keyFactory.generateSecret(keySpec); 5. 6. retu
7、rn secretKey; 7. } 8. 9. /** 10. * 加密 11. * 12. * @param data 13. * 数据 14. * @param password 15. * 密码 16. * @param salt 17. * 盐 18. * @return 19. * @throws Exception 20. */ 21. public static by
此文档下载收益归作者所有