javascript - 比较哈希值

标签 javascript node.js hash

我正在尝试使用“===”将从nodeJs加密模块的PBKDF2sync函数创建的密码散列与我数据库中的一个存储进行比较。但我越来越虚伪了。我已经使用 console.log 检查了两者的盐是否相等,但仍然显示错误。我不明白发生了什么?

当我尝试 console.log 来自 PBKSF2sync 函数的哈希值时,我在终端上看到了这个东西

<SlowBuffer bf 36 32 7e b8 8e 6d a7 8f 8a 9d cb 7e 99 11 47 a7 17 80 17 df ef 8b b4 36 f1 18 1d c5 de ab 1e b3 69 f1 2f 1a 20 09 1f e6 2c c6 2e e9 ca 1f 5a 58 19 46 ...>

这就是我变得虚假的原因吗?请帮助我。

最佳答案

=== 还确保两种数据类型精确匹配,因此,如果一个是缓冲区,另一个是(类型化)数组,那么它们可能具有相似的内容,但仍然无法比较。

您可以使用 == 进行比较,这将尝试将两者转换为匹配类型,但不安全,因此不建议在哈希操作中使用,或者您只需在比较它们之前将两者转换为相同类型。

关于javascript - 比较哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17458947/

相关文章:

node.js - 尝试删除 Node Express mongoDb 中的单行时删除所有记录

javascript - node和node中间件中的 'req'和 'res'参数是什么?

ruby - Hash 的 compare_by_identity 是如何工作的?

perl - 如何更改哈希键的大小写?

python - 使用 SHA-256 在 Python 中处理字节

javascript - 如何使用 three.js 将 Material (.mtl) 添加到对象 (.obj)?

javascript - Woocommerce 用户帐户页面加载条目,无需整个重新加载

javascript 在 fiddle 中工作但不在自己的页面中工作(即使脚本位于底部)

JavaScript 回调或观察者

javascript - 如何在 express.js 中使用 handlebars-helpers 库?