关于电子商务迁移,我需要从 Intershop 平台提取客户帐户。顺便说一句,我认为密码当前是加密存储的(我希望如此),所以为了保持当前身份验证过程的工作,我需要重现密码哈希算法。
有人可以向我解释在 Intershop 平台上使用哪种算法,或者向我转移一些有助于在 php 下重现它的代码部分吗?
谢谢大家
关于电子商务迁移,我需要从 Intershop 平台提取客户帐户。顺便说一句,我认为密码当前是加密存储的(我希望如此),所以为了保持当前身份验证过程的工作,我需要重现密码哈希算法。
有人可以向我解释在 Intershop 平台上使用哪种算法,或者向我转移一些有助于在 php 下重现它的代码部分吗?
谢谢大家
默认情况下,Intershop 7 使用 PBKDF2。
PBKDF2 是默认散列算法的 Intershop 选择。
存储的哈希计算如下:
<user_password_hash>=<S>PBKDF2(P, S, c, dkLen)
这里:
user_password_hash
- 存储的密码哈希,十六进制编码
P
- 纯文本的用户密码
S
- 盐 - 随机 64 位长盐
c
- 迭代次数 - 2000
dkLen
- 输出的长度 - 256 位
请注意,由于 salt 是一个随机的 64 位值,因此任何密码最多可能有 2^64 个有效且不同的哈希值。在内部,PBKFD2 使用在先前生成的哈希上反复应用的函数。IS7 为此使用了带有 HMAC 的 SHA-1,应用了 2000 次。每个密码的总存储要求为:
salt = 64 bits
hash = 256 bits
---------------
total = 320 bit = 40 bytes
由于这些字节以十六进制编码存储,因此每个密码的总空间为 80 个字节。