public class BCrypt extends Object
此类来自于https://github.com/jeremyh/jBCrypt/
使用方法如下:
String pw_hash = BCrypt.hashpw(plain_password, BCrypt.gensalt());
使用checkpw方法检查被加密的字符串是否与原始字符串匹配:
BCrypt.checkpw(candidate_password, stored_hash);
gensalt方法提供了可选参数 (log_rounds) 来定义加盐多少,也决定了加密的复杂度:
String strong_salt = BCrypt.gensalt(10);
String stronger_salt = BCrypt.gensalt(12);
Constructor and Description |
---|
BCrypt() |
Modifier and Type | Method and Description |
---|---|
static boolean |
checkpw(String plaintext,
String hashed)
检查明文密码文本是否匹配加密后的文本
|
byte[] |
crypt(byte[] password,
byte[] salt,
int log_rounds,
int[] cdata)
加密密文
|
static String |
gensalt()
生成盐
|
static String |
gensalt(int log_rounds)
生成盐
|
static String |
gensalt(int log_rounds,
SecureRandom random)
生成盐
|
static String |
hashpw(String password)
生成密文,使用长度为10的加盐方式
|
static String |
hashpw(String password,
String salt)
生成密文
|
public byte[] crypt(byte[] password, byte[] salt, int log_rounds, int[] cdata)
password
- 明文密码salt
- 加盐log_rounds
- hash中叠加的对数cdata
- 加密数据public static String hashpw(String password)
password
- 需要加密的明文public static String hashpw(String password, String salt)
password
- 需要加密的明文salt
- 盐,使用gensalt()
生成public static String gensalt(int log_rounds, SecureRandom random)
log_rounds
- hash中叠加的2的对数 - the work factor therefore increases as 2**log_rounds.random
- SecureRandom
public static String gensalt(int log_rounds)
log_rounds
- the log2 of the number of rounds of hashing to apply - the work factor therefore increases as 2**log_rounds.public static String gensalt()
Copyright © 2024. All rights reserved.