0
javascriptとnodejsの新機能で、パスワードとデータベースのsaltからユーザーを認証するコードを作成しました。以下は、ユーザーコードとパスワードを受け取ったnodejsのコードです私はデータベースからデータを取得し、DBにあるパスワードとソルトを受信したパスワードと比較します。無効なsalt nodejsの認証プロセスでエラーが発生しました
DBに格納された塩は、base64形式で生成されます。 、オーバーこのエラーをどのように塩または私はコード内で欠落している可能性があり、他のラウンド数を見つけることができませんでし来てそのコード
passwordinDB : StAxL1r3bb/5k/6D6+BulwxhXFs=
saltinDB : FOhs8crXyO8=
[Error: Invalid salt. Salt must be in the form of: $Vers$log2(NumRounds)$saltvalue]
をececutingながら
var Bcrypt = require('bcrypt');
var pg = require('pg');
var usercode = 'tarun';
var clientid='214057357158656';
var password='tarun';
var connectionString = "postgres://dbusername:[email protected]:5432/USCProduction";
console.log('connectin to DB');
var client = new pg.Client(connectionString);
client.connect(function(err) {
if(err) {
console.log(err);
}
var Query ='select password, salt from muser, mclient where usercode='+"'"+usercode+"'"+' and muser.clientid='+clientid+' and muser.clientid=mclient.clientid and mclient.status=1';
console.log('executing query',Query);
client.query(Query, function(err, result) {
if(err){
console.log('Error in executing Query');
client.end();
} else {
console.log(result.rows);
var passinDB=result.rows[0].password;
var saltinDB=result.rows[0].salt;
console.log('passwordinDB : ',passinDB);
console.log('saltinDB : ',saltinDB);
client.end();
Bcrypt.hash(passinDB, saltinDB, function(err, hash) {
if(err) {
return console.error(err);
}
console.log(hash);
Bcrypt.compare(password, hash, function(err, isMatch) {
if(err) {
return console.error(err);
}
console.log('do they match?', isMatch);
});
});
}
});
});
アム以下のエラーが直面しています。
ありがとうございます!