java加密技术三

java加密技术三

ID:26067552

大小:90.00 KB

页数:5页

时间:2018-11-24

java加密技术三_第1页
java加密技术三_第2页
java加密技术三_第3页
java加密技术三_第4页
java加密技术三_第5页
资源描述:

《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.     * PBEWithSHA1And

4、DESede 18.     * PBEWithSHA1AndRC2_40 19.     * 

 20.     */  21.    public static final String ALGORITHM = "PBEWITHMD5andDES";  22.  23.    /** 24.     * 盐初始化 25.     *  26.     * @return 27.     * @throws Exception 28.     */  29.    public static byte[] initSalt()

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

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。