bcryptjs
bcrypt
blowfish
在nodejs中使用bcryptjs
使用之前需要在项目中先安装包
1
npm install bcryptjs --save
1234567891011
var bcrypt = require('bcryptjs');var salt = bcrypt.genSaltSync(10);var hash = bcrypt.hashSync("Password-001", salt);console.log('hash=' + hash);var valid = bcrypt.compareSync('Password-001', hash);console.log('compare-1: ' + valid);valid = bcrypt.compareSync('Password-002', hash);console.log('compare-2: ' + valid);
运行结果:
12345
> node index.jshash=$2a$10$AFqmH2Y3tgNvUeEOV4H3UuSZzH8nlfNAXEJTukpbpArakftGizlDmcompare-1: truecompare-2: false
bcrypt.genSaltSync()
$2a$10$$
在golang 中使用bcrypt
在golang 的官方包也是提供了bcrypt. 但从blowfish的文档中看,并不推荐使用blowfish算法.
12345
package mainimport "golang.org/x/crypto/bcrypt"ash, err := bcrypt.GenerateFromPassword([]byte("soem-pass"), 4)err := bcrypt.CompareHashAndPassword(ash, []byte("soem-pass"))