2017-08-26 15 views
-2

誰も私はこの問題を解決することができますか?どのようにjavascriptプログラムのこのエラーを解決する

TypeError: Salt must be a buffer 
    at TypeError (native) 
    at pbkdf2 (crypto.js:579:20) 
    at Object.exports.pbkdf2Sync (crypto.js:570:10) 

これは、関数である:

function hash (input, salt) { 
    // How do we create a hash? 
    var hashed = crypto.pbkdf2Sync(input, salt, 10000, 512, 'sha512'); 
    return ["pbkdf2", "10000", salt, hashed.toString('hex')].join('$'); 
} 

そして、これは私が引数を送信しています方法です:

var dbString = rows[0].password; 
var salt = dbString.split('$')[2];//here i am taking the 2nd column value from a table with 3 columns 
var hashedPassword = hash(new Buffer(password, 'binary'), salt); // then passing it to the function hash 
+0

あなたは '新しいバッファ(塩、「バイナリを試してみました') '? –

+0

私はこれを試しましたが、エラーを取り除いていません。 –

+1

「このエラーを解決する必要があります」という形式のタイトルは使用しないでください。ほぼすべての投稿が何らかのエラーを解決することです。タイトル**にエラー**を記入してください。あなたの特定の問題を解決するには、エラーメッセージを読んだ後にもう一度それを読んでから、もう一度それを読むという、古き良きアプローチを試してみてください。 –

答えて

0

は、エラーメッセージに従ってください:塩はBufferでなければなりません。それはBuffer()にして、私は詳細を知らないが、あなたが書いたコードに基づいて、それはこのようなものでなければなりません

スロー:

return ["pbkdf2", "10000", new Buffer(salt, 'binary'), hashed.toString('hex')].join('$'); 
+1

エラーメッセージに記載されていることをする「回答」のポイントは何ですか? –

+0

@torazaburoエラーメッセージに続いて簡単に解決できる「質問」のポイントは何ですか? –

+0

ありません。それはなぜそれが下降投票および/または閉鎖されるべきなのかです。 –

関連する問題