node实现php的crypt方法,如何验证在node.js中使用php-crypt创建的哈希

作者寻求帮助将PHP应用中使用phpcrypt进行MD5哈希的密码(如'd1692fab28b8a56527ae329b3d121c52')转换为Node.js,以便在后端保持兼容性。尝试了多种Node.js方法如HMAC但未成功,目标是实现与PHP crypt函数一样的输出。
摘要由CSDN通过智能技术生成

我必须将我的后端从php迁移到节点.我们使用php crypt(默认随机盐)来哈希密码.

例如,对于密码’d1692fab28b8a56527ae329b3d121c52′,我的基础中有以下加密的pw(取决于我使用的是md5还是sha512,因为$i $指定):

$1$7JxJYjJK$oFtCGyVvflspPtxB7YrWP.

$6$CVx6KL5l$wzk3YXlqUaz42Kb9r2lmEJhx/FBUXPRoLWN.20/XMBbgQrhp3vSHkEDF3bJEtpM3M96VZ.AMKatLGSKYZZKNH/

在php中我可以用crypt验证它们:

echo crypt('d1692fab28b8a56527ae329b3d121c52', '$1$7JxJYjJK$oFtCGyVvflspPtxB7YrWP.');

echo "\n";

echo crypt('d1692fab28b8a56527ae329b3d121c52', '$6$CVx6KL5l$wzk3YXlqUaz42Kb9r2lmEJhx/FBUXPRoLWN.20/XMBbgQrhp3vSHkEDF3bJEtpM3M96VZ.AMKatLGSKYZZKNH/');

echo "\n";

哪个返回正确的加密pw.

我没有设法用任何节点功能获得这样的结果.我试过像这样的东西:

require("crypto").createHmac("md5", "7JxJYjJK").update("d1692fab28b8a56527ae329b3d121c52").digest("base64");

还有很多其他人,但没有任何成功.

有人可以帮我这样做吗?我绝对需要MD5版本(1美元); sha512会有点好看(我知道它很可怕,但它是prod服务器上使用的md5版本,以及测试服务器上使用的sha512 ……).

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值