gpt4 book ai didi

node.js - 在 Node 中使用 libsodium.crypto_pwhash (Argon2)

转载 作者:搜寻专家 更新时间:2023-11-01 00:29:47 24 4
gpt4 key购买 nike

我在让 crypto_pwhash_str 在我的 Node 项目中工作时遇到问题。我正确导入了 libsodium-wrappers-sumo 和 libsodium-sumo 库,并且能够成功调用其他函数。我对有问题的函数的调用如下所示:

sodium.crypto_pwhash_str(password, 3, 4096, 'text')

在这种情况下,密码只是一个带有字母“a”的字符串对象。

当我运行调试器并试图找出问题所在时,我得到了这个内部代码块:

if ((libsodium._crypto_pwhash_str(hashed_password_address, password_address, password_length, 0, opsLimit, 0, memLimit) | 0) === 0) {
var ret = libsodium.Pointer_stringify(hashed_password_address);
_free_all(address_pool);
return ret;
}
_free_and_throw_error(address_pool);

由于某种原因,它无法进入 for 循环,并且对 _crypto_pwhash_str() 的调用计算结果为 -1

有没有人对这个库有任何经验,或者可以帮助我弄清楚我做错了什么。对 Node 还很陌生,所以我很迷茫。

最佳答案

想通了。我(出于某些愚蠢的原因)认为我设置为 4096 的 memlimit 是以 MB 为单位进行测量的,显然它以千字节为单位进行测量并且可接受的最小值为 32768 (32 MB)。现在可以使用了!

关于node.js - 在 Node 中使用 libsodium.crypto_pwhash (Argon2),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41129230/

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