如何使用Blowfish加密nodejs中的密码

时间:2014-06-22 05:37:12

标签: javascript node.js cryptography blowfish

我想知道如何使用blowfish算法在Node.js中使用salt来哈希密码 算法应该是单向的。

1 个答案:

答案 0 :(得分:6)

看看bcrypt模块(它使用河豚)

https://www.npmjs.org/package/bcrypt

请注意,模块会为您处理salt与哈希的组合,因此一旦生成哈希,您就不必管理存储盐(请注意,compare函数只需要密码,salt隐含在哈希中) )

这非常简单(从文档中复制)

async (recommended)

To hash a password:

var bcrypt = require('bcrypt');
bcrypt.genSalt(10, function(err, salt) {
    bcrypt.hash("B4c0/\/", salt, function(err, hash) {
        // Store hash in your password DB.
    });
});
To check a password:

// Load hash from your password DB.
bcrypt.compare("B4c0/\/", hash, function(err, res) {
    // res == true
});
bcrypt.compare("not_bacon", hash, function(err, res) {
    // res = false
});
Auto-gen a salt and hash:

bcrypt.hash('bacon', 8, function(err, hash) {
});