【发布时间】:2013-02-19 22:44:52
【问题描述】:
请帮助 php -> javascript(node.js) 转换
$key = crypt($key, $salt);
我正在用 node.js 重写 php 脚本,我遇到了在 php 中生成哈希签名的问题,这是使用 crypt() 函数和盐匹配“CRYPT_EXT_DES”模式生成的
CRYPT_EXT_DES - 扩展的基于 DES 的散列。 “salt”是一个 9 字符的字符串,由一个下划线后跟 4 个字节的迭代计数和 4 个字节的 salt 组成。这些被编码为可打印字符,每个字符 6 位,最低有效字符在前。值 0 到 63 被编码为“./0-9A-Za-z”。在 salt 中使用无效字符会导致 crypt() 失败。
我对加密并没有真正的经验,研究有关加密模块的 node.js 文档也没有帮助。请帮助如何在 node.js 上实现这个!
【问题讨论】:
-
你试过什么代码?
-
没什么,我真的不知道从哪里开始。 crypto 的 createHash/createHMac/createSign 在我的机器上不支持“DES”算法,它仅适用于多种变体的密码,但 php 的 crypt() 是单向字符串散列,不应该被破译,所以我猜密码不是正确的工具。
标签: php javascript node.js encryption des