【发布时间】:2020-11-18 07:21:24
【问题描述】:
TLDR: Hybris 在将密码散列存储到数据库之前会如何处理它们?因为数据库字段中的值不是标准的密码哈希。
我必须在上面添加 TLDR,因为有两个用户发布的答案表明他们没有阅读(或理解)该问题。
我正在使用 Hybris 1905。当我在后台设置用户密码时,我可以选择散列算法的类型,包括 MD5、SHA-256 和其他一些算法。然而,存储在数据库中的密码值显然不是算法的简单哈希。例如,这里是密码test1234 的哈希值,具有各种哈希算法:
- 盐渍 MD5:
1:Gtjd5QVM/t0HLT5PvZCU4g==s9B8Vw/BIkzixwzMzueRR1R6WY9y8Fq9BqFqwGIuY2fGK+KFYSXjNf5G0fbAlb9u - SHA-256:
1:etvHTnwzMfX/DnbNPhmQBA==8jq6sLLcb/PrIhVB9D+YA61L2mr0dlBYr/84G/K9Kzqe4gpvPF10ja8RaIE94b3A+joszlMutGrHezDs871A/8Yr4oVhJeM1/kbR9sCVv24= - SHA-512:
1:ZSaQW0C+r/NMVwRRVTCm9w==4qQJdmvU4PE02ipY0Mvkp2sb+bMuMHTiMIVE2m6NESzv2BEFG2O1MIjkzFUES6f7jzoVOEuVmd/E8mqOUoogbL9rpkOPmeMEj5EpB2iued3UAouLvv6PuUCyFJGJdoRsZJzwO2Lj30iokY4RsG0OKXYuGdUjNYU7X1AUggH+eWfGK+KFYSXjNf5G0fbAlb9u - PBKDF2 (HMAC-SHA1):
1:HIKWvUwTA/pVC9mXzl9qgw==NOsr8pkNUIbEGoiWFa5oArnlEfZNALK0cuczK7dxtxHbDTby+7w3ml1pf8HNmXjalq1A/tSvlb+gwZMRS4Q7ncMhU5w1b6HwV+BGEBG9ecqahzUOK7mNZrLbh9t50M0mRr2AVQJnn7bfvdJ5E3C4UPdoN44v1mAgIuC/9RKTnhj/1BhjHqKf1pozhFfoBz8FdSxBQMmKY91/c4VzkinqiSy5wkaWjOSQQuAN9ZoWmvw= - BCrypt:
1:GL1kPl93Nx4RjOymIhC1Kw==Xh9ZddGPIxUqpipcEvJ+bRHApEyWVPkXtxPlsYgzokUo4ktC/vh4weA6hrMEebtQC/OttaVzG3+9tUCHxFHCcw==
显然,这是 Hybris 在所选散列算法之上的某种编码 - 但它是什么?是编码(即可以解码)还是散列?
我需要将一个大型用户数据库从另一个平台迁移到这个 Hybris 安装。我有想要导入的现有用户名和相应的散列密码。这些是标准的 bcrypt 散列,因此相同的 test1234 字符串将具有散列 $2y$16$mK9cm.pwOp8ve9oH0VqkT.123HGy/RHYLcd1GB.N5zEqBylV.22wm。然而,我很难理解如何将此哈希导入 Hybris 用户表。
【问题讨论】:
标签: passwords hybris password-hash password-storage