如何使用springsecurity确定Grails应用程序中用于哈希密码的算法?

如何使用springsecurity确定Grails应用程序中用于哈希密码的算法?,grails,spring-security,Grails,Spring Security,我从未使用过Grails(或者Java)。我正在使用另一种语言/框架从头开始重新构建一个最初使用Grails构建的应用程序。我想从生产数据库中引入现有用户。我可以完全访问数据库和密码哈希。我还可以访问整个Grails源代码 我已经发现springsecurity插件似乎被使用了。我在项目中对SHA1、MD5和bcrypt等关键字进行了简单搜索,但没有结果。我还搜索了“grails.plugins.springsecurity.password.algorithm”的源代码,但没有出现 sprin

我从未使用过Grails(或者Java)。我正在使用另一种语言/框架从头开始重新构建一个最初使用Grails构建的应用程序。我想从生产数据库中引入现有用户。我可以完全访问数据库和密码哈希。我还可以访问整个Grails源代码

我已经发现springsecurity插件似乎被使用了。我在项目中对SHA1、MD5和bcrypt等关键字进行了简单搜索,但没有结果。我还搜索了“grails.plugins.springsecurity.password.algorithm”的源代码,但没有出现

springsecurity是否使用通用加密

任何帮助都将不胜感激。

根据,默认加密为SHA-256

这意味着它会这样做:

import java.security.MessageDigest

...

String password = "<password to be encrypted>";
MessageDigest digest = MessageDigest.getInstance("SHA-256");
byte[] hash = digest.digest(password.getBytes("UTF-8"));
import java.security.MessageDigest
...
字符串密码=”;
MessageDigest=MessageDigest.getInstance(“SHA-256”);
byte[]hash=digest.digest(password.getBytes(“UTF-8”);

搜索包含

  "springSecurityService.encodePassword("

在您的“/domains/”目录中,确实是类似于

user.groovy 
wich可以为上下文带来一些启发,可能包含一些有用的方法
在您的“/controllers/”目录中,您可以搜索处理注册的控制器,可能它依赖于iss执行该操作的服务/services/

我仍然不知道如何实际确定这一点。我意识到我的哈希值是64个字符,谷歌搜索发现很可能是SHA-256。我使用一个在线javascript散列工具对我的密码进行散列并比较结果。我验证了它是SHA-256。对不起,但是
HashCodeBuilder
@EqualsAndHashCode
与密码加密有什么关系?我最终偶然发现了这个问题。我只是在整个项目中进行了搜索,但没有找到“SHA-256”、“256”等,所以我猜它只是使用了直接向上的默认值。谢谢
  ".encodeAsURLSafeBase64("
user.groovy