2017-11-14 1 views
0

私はハッシュしてデータベースにパスワードを格納しようとします。 私はlibappodiumをcrypto_pwhashと一緒にノードアプリケーションに使用します。 関数を作成してエクスポートしますが、ハッシュパスワードを受け取ることができません。 sodium.jsコールバック値でlibsodium関数を呼び出す

libsodium = require('libsodium-wrappers-sumo'); 
(async() => { 
await libsodium.ready; 
const sodium = libsodium; 

module.exports.password_hash = function(password, res){ 
var hashed_password = [sodium.crypto_pwhash_STRBYTES]; 
if (sodium.crypto_pwhash_str (sodium.crypto_pwhash_MEMLIMIT_SENSITIVE) != 0){ 
    /* out of memory */ 
} 
    return res(hashed_password); 
} 
/*if (sodium.crypto_pwhash_str_verify 
(hashed_password, PASSWORD, strlen(PASSWORD)) != 0) { 
/* wrong password */ 
//} 
})(); 

sodium.password_hash("test", function(res){ 
     console.log(res); 
    }); 

エラーメッセージがあるapp.js:パスワードのサポートされていない入力タイプ

は、ここに私のコードです。私が間違って

更新が何であるかを理解していない

:私は私のコードを、updade 今メッセージのエラーです:定義された場合には、出力形式は、私はそれが配列の問題だと思うの文字列 でなければなりません

+0

それはあなたには、いくつかの括弧が欠けているように見えるので、あなたがsodium.js' 'に何をしているかを理解するのは難しいがありません。これを編集して有効なjsにできますか? –

+0

私の投稿は更新されますが、もっと少ない行しかありません。 – Vana

+0

パスワードをハッシュするはずの関数に渡す必要があります... –

答えて

0

は、文字列にハッシュパスワードを返すsodium.crypto_pwhash_str、必要最初のパラメータ

関連する問題