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
字符串会有 hash $2y$16$mK9cm.pwOp8ve9oH0VqkT.123HGy/RHYLcd1GB.N5zEqBylV.22wm
。然而,我很难理解如何将此哈希导入 Hybris 用户表。