Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 带重音的NodeJS hmac摘要问题大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在与 Ruby,PHP和NodeJS进行以下代码的并行比较,使用crypto模块在NodeJS中获得不正确的响应.

PHP

hash_hmac('sha256','text','á');

ruby

OpenSSL::HMAC.hexdigest('sha256','á','text')

的NodeJS

var signer = crypto.createHmac('sha256','á');
var expected = signer.update("text").digest('hex');

Ruby和PHP都返回34b3ba4ea7e8ff214f2f36b31c6a6d88cfbf542e0ae3b98ba6c0203330c9f55b,而NodeJS返回7dc85ACBa66d21e4394be4f8ead2a327c9f1adc64a99c710c98f60c425bd7411.我注意到,如果我在PHP中尝试使用utf8_encode(‘á’),它实际上给了我Node期望的结果.

我正在从文件加载Node中的重音文本,如下所示:

JSON.parse(fs.readFileSync('keys.js','utf8'));

我将如何在Node中更改我的代码以获得PHP和Ruby都存在的结果哈希?

谢谢!

@R_419_1964@

代码将为您提供正确的结果:

var crypto = require('crypto');

var signer = crypto.createHmac('sha256',new Buffer('á','utf8'));
var result = signer.update("text").digest('hex');
console.log(result);

大佬总结

以上是大佬教程为你收集整理的node.js – 带重音的NodeJS hmac摘要问题全部内容,希望文章能够帮你解决node.js – 带重音的NodeJS hmac摘要问题所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。