gpt4 book ai didi

hash - 玩!哈希密码返回错误结果

转载 作者:行者123 更新时间:2023-12-02 07:32:18 27 4
gpt4 key购买 nike

我使用的是 Play 1.2.1。我想对我的用户密码进行哈希处理。我认为 Crypto.passwordHash 会很好,但事实并非如此。 passwordHash 文档说它返回 MD5 密码哈希值。我在 Fixture 中创建了一些用户帐户,其中放置了 md5 密码哈希:

  ...
User(admin):
login: admin
password: f1682b54de57d202ba947a0af26399fd
fullName: Administrator
...

问题是,当我尝试登录时,使用如下内容:

user.password.equals(Crypto.passwordHash(password))

而且它不起作用。因此,我在 autentify 方法中添加了一条日志语句:

Logger.info("\nUser hashed password is %s " +
"\nPassed password is %s " +
"\nHashed passed password is %s",
user.password, password, Crypto.passwordHash(password));

密码哈希值确实不同,但是嘿! passwordHash 方法的输出甚至不是 MD5 哈希:

15:02:16,164 INFO  ~
User hashed password is f1682b54de57d202ba947a0af26399fd
Passed password is <you don't have to know this :P>
Hashed passed password is 8WgrVN5X0gK6lHoK8mOZ/Q==

那怎么样?如何修复它?或者也许我必须实现自己的解决方案?

最佳答案

当您与十六进制编码进行比较时,Crypto.passwordHash 返回 Base64 编码的密码哈希。

关于hash - 玩!哈希密码返回错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6279360/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com