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