gpt4 book ai didi

node.js - 带有base64摘要算法的nodejs md5错误结果

转载 作者:IT老高 更新时间:2023-10-28 23:24:13 27 4
gpt4 key购买 nike

这是我的代码

var sig = crypto.createHash('md5')
.update('The quick brown fox jumps over the lazy dog')
.digest('base64');
console.log(sig)

结果为 nhB9nTcrtoJr2B01QqQZ1g==(在 Mac OS X 上)。

我正在尝试从 ios 应用程序生成相同的签名。 objective-c 中的结果与在线转换器网站中的结果相同:字符串

敏捷的棕狐跳过懒狗

转换为 md5,我明白了9e107d9d372bb6826bd81d3542a419d6,

base64OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY=

为什么这些字符串不同?这不是 nodejs 加密模块在做什么吗?用 base64 消化 md5 哈希的 nodejs 算法的等价物是什么?

最佳答案

字符串 OWUxMDdkOWQzNzJiYjY4MjZiZDgxZDM1NDJhNDE5ZDY= 是字符串 9e107d9d372bb6826bd81d3542a419d6 的 base64 编码版本,它本身就是纯文本字符串 The quick brown fox 的 md5 哈希跳过懒狗

如果您想在 Node 中执行此操作,您首先必须以十六进制获取 md5 哈希:

var crypto = require('crypto');
var s = 'The quick brown fox jumps over the lazy dog';
var md5 = crypto.createHash('md5').update(s).digest('hex');

现在您将 md5 哈希值设为十六进制 (9e107d9d372bb6826bd81d3542a419d6)。现在您所要做的就是将其转换为 base64:

new Buffer(md5).toString('base64');

关于node.js - 带有base64摘要算法的nodejs md5错误结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14388745/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com