PHP的password_hash和password_verify的Java等效项是什么?

Xen*_*nos 5 php java

我有一个MySQL数据库,其中一列用于存储密码。

它是用PHP实现的,password_hash()用于在注册时对原始密码进行加盐和哈希处理,然后检索登录用户的MySQL行,然后获取password_verify()其密码。

但是我需要在Java中移动它。那么,有Java等效于password_hash()和password_verify()吗?

Ant*_*ida 5

您可以通过mindrot使用该实现:https :
//www.mindrot.org/projects/jBCrypt/

要复制,password_hash您可以使用:

String hash = BCrypt.hashpw("password");
Run Code Online (Sandbox Code Playgroud)

并复制password_verify使用:

boolean s = BCrypt.checkpw("password", hash);
Run Code Online (Sandbox Code Playgroud)

这对我的Laravel项目非常有用。

我对lib进行了一些调整,以允许使用随机盐,而不是每次调用hashpw方法时都传递新的盐,并支持盐的多个版本。

您可以在这里找到它:https : //github.com/promatik/jBCrypt