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 - SecureRandompublic 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 © 2025. All rights reserved.