我有一个要转换为 Grails 的 PHP 应用程序。PHP 应用程序使用盐机制来编码其所有用户的密码。
将 salt 和 salted 密码移动到 Grails 中的(自定义)用户数据库时,我无法在 Grails 应用程序中登录。
当然,我使用的是Spring Security Core 插件,并且我已经按照本教程中的说明将 salt 添加到 User 域类中,我在这里找到了:Grails with Spring Security Plugin and Salted Passwords
完成教程后,我可以添加一个用户并使用该用户成功登录:
[BootStrap.groovy]:
new User( username:"user", email:"user@place.com", password:"password", enabled:true).save(flush: true)
(您可能还注意到添加了电子邮件,这是我使用本教程添加的)
但是我无法使用从 PHP 项目转移过来的任何用户登录。如果有任何帮助,以下是他们的密码编码方式:
$password = "password";
$salt = bin2hex( openssl_random_pseudo_bytes( 32 ) );
$passwordSalted = hash( "sha256", $salt . $password );