近期一个 php 转 java 项目中遇到。写出来分享一下:
java BCrypt 类库。
https://github.com/patrickfav/bcrypt
@Test
public void testBCrypt() {
String password = "abcd";
String bcryptHashString = BCrypt.withDefaults().hashToString(12, password.toCharArray());
System.out.println(bcryptHashString);
// $2a$12$US00g/uMhoSBm.HiuieBjeMtoN69SN.GE25fCpldebzkryUyopws6
BCrypt.Result result = BCrypt.verifyer().verify(password.toCharArray(), bcryptHashString);
assert result.verified;
// String hash = BCrypt.with(customVersion2f).hashToString(10, password.toCharArray());
// String hash = BCrypt.with(BCrypt.Version.VERSION_2X).hashToString(10, password.toCharArray());
String hash = BCrypt.with(BCrypt.Version.VERSION_2Y).hashToString(10, password.toCharArray());
System.out.println(hash);