PBKDF2加密算法

做过网站的人都知道用户密码必须经过加密的,其中用的最普遍的就是MD5加密了.但是随着彩虹桥技术的兴起,MD5加密已经不再安全.今天小编就要介绍一种全新的,安全的加密算法:PBKDF2
PBKDF2算法通过多次hash来对密码进行加密。原理是通过password和salt进行hash,然后将结果作为salt在与password进行hash,多次重复此过程,生成最终的密文。此过程可能达到上千次,逆向破解的难度太大,破解一个密码的时间可能需要几百年,所以PBKDF2算法是安全的.

话不多说,上代码!!!

encode()


	/**
	 * PBKDF2加密
	 * @author knight
	 * @param plain 明文
	 * @return String 密文
	 */
	public static String encode(String plain) {
		//1.生成随机盐salt
		byte[] salt = EncryptUtil.generateSalt(32);
		//2.随机盐HEX加密
		String encodeHex = EncryptUtil.encodeHex(salt);
		//3.明文和随机盐一起SHA1运算1024次
		byte[] sha1 = EncryptUtil.sha1(plain.getBytes(), salt, 1024);
		//4.对运算结果进行HEX加密
		String ciperText = EncryptUtil.encodeHex(sha1);
		//4.加密后的随机盐和加密后的明文生成密文
		String finalText=encodeHex+ciperText;
		return finalText;
	}

generateSalt()

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值