में उत्पन्न किया गया था जो nodejs में पासवर्ड हैश सत्यापित करें मेरा PHP कोड password_hash
का उपयोग करके हैश उत्पन्न करता है जिसे मैं डेटाबेस में संग्रहीत करता हूं। नीचे PHP कोड है:phode
$hash = password_hash($value, PASSWORD_BCRYPT, array('cost' => $cost));
मैं इस हैश के खिलाफ नोडज में पासवर्ड सत्यापित/जांचना चाहता हूं।
मैंने बहुत सारे नोड मॉड्यूल (bcrypt, phpass, node-bcrypt) देखा, लेकिन उनमें से सभी मुझे झूठा देते हैं। नीचे PHP में जेनरेट किया गया नमूना हैश है और जिसे मैं नोडज में सत्यापित करने की कोशिश कर रहा हूं।
var hash = '$2y$08$9TTThrthZhTOcoHELRjuN.3mJd2iKYIeNlV/CYJUWWRnDfRRw6fD2';
var bcrypt = require('bcrypt');
bcrypt.compare("secret", hash, function(err, res) {
console.log(res);
});
(यहाँ रहस्य है असली पासवर्ड)
मेरे वर्तमान workaround (किसी को भी, जो एक समाधान की जरूरत के लिए) नोड के माध्यम से एक PHP स्क्रिप्ट कॉल करने के लिए सत्यापित करने के लिए है
var exec = require('child_process').exec;
var cmd = 'php verify.php password encryped_pasword';
exec(cmd, function (error, stdout, stderr) {
// output is in stdout
console.log(stdout);
//If stdout has 1 it satisfies else false
});
यह एक हैक है और इस समस्या का अच्छा जवाब नहीं है। क्या इस तरह के कामकाज के बिना नोडज में पासवर्ड को सत्यापित करने का कोई तरीका है?
आप मैं o0rebelious0o https://www.npmjs.org/package/bcrypt-nodejs – o0rebelious0o
@ पर एक नज़र लिया है इसका उपयोग करने की तुलना करने की कोशिश की, यह शून्य को भी झूठ नहीं देता है और कोई त्रुटि नहीं – Sudesh
सावधान रहें, $ लागत getRounds() से मेल खाना चाहिए, यह एच है ओउ bcrypt काम करता है। – erenon