赞
踩
PBKDF2算法通过多次hash来对密码进行加密。原理是通过password和salt进行hash,然后将结果作为salt在与password进行hash,多次重复此过程,生成最终的密文。此过程可能达到上千次,逆向破解的难度太大,所以PBKDF2算法是安全的。
- package com.bolt.zkkw.util;
-
- import javax.crypto.SecretKeyFactory;
- import javax.crypto.spec.PBEKeySpec;
- import java.math.BigInteger;
- import java.security.NoSuchAlgorithmException;
- import java.security.SecureRandom;
- import java.security.spec.InvalidKeySpecException;
- import java.security.spec.KeySpec;
-
- /**
- * PBKDF2加密工具
- * @author TF
- */
- public class EncryptUtil {
-
- /**
- * 算法
- */
- public static final String PBKDF2_ALGORITHM = "PBKDF2WithHmacSHA1";
- /**
- * 盐的长度
- */
- public static final int SALT_BYTE_SIZE = 32 / 2;
- /**
- * 生成密文的长度
- */
- public static final int HASH_BIT_SIZE = 128 * 4;
- /**
- * 迭代次数
- */
- public static final int PBKDF2_ITERATIONS = 1000;
-
- /**
- * @d
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。