2

crypto_pwhash_strNode プロジェクトでの作業に問題があります。libsodium-wrappers-sumo および libsodium-sumo ライブラリを適切にインポートし、他の関数を正常に呼び出すことができました。問題のある関数への呼び出しは次のようになります。

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

この場合、password は文字 '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

誰かがこのライブラリの経験を持っているか、私が間違っていることを理解するのを手伝ってくれますか. ノードにかなり慣れていないので、かなり迷っています。

4

1 に答える 1

4

理解した。私は (何らかのばかげた理由で)memlimitを 4096 に設定し、MB 単位で測定されていると考えました。どうやらそれはキロバイト単位で測定され、32768 (32 MB) の許容可能な最小値を持っています。それは今動作します!

于 2016-12-13T21:58:58.567 に答える