美文网首页
散列加密 bcrypt 的无依赖包 bcrypt.js

散列加密 bcrypt 的无依赖包 bcrypt.js

作者: squidbrother | 来源:发表于2020-03-09 13:28 被阅读0次
    概述

    虽然性能没有bcrypt高,但是这个零依赖太好了;
    官方手册说明:
    Optimized bcrypt in plain JavaScript with zero dependencies. Compatible to 'bcrypt'.
    优化bcrypt在纯JavaScript与零依赖。兼容“bcrypt”。

    每周下载 (Weekly Downloads)
    603,152

    由于安装bcrypt,需要自己的版本与nodejs的版本按一定规则匹配,且需要python 2.x支持;
    作为服务端小白,不清楚怎么能协调服务器上, 其他软件要使用python2.x之外的版本,怎么调和这个冲突;

    所以在性能与后续的一系列隐患 权衡后,bcrypt.js还是很有必要推荐的

    题外话,选择( bcrypt / bcrypt.js ),主要是因为这种散列方式每次散列的结果都不一样,优于几年前的 MD5 ( 密码固定,容易撞库 ) 以及 MD5+salt 太过繁琐,且依然密码固定,有被破解的可能性

    安装

    npm文档地址
    npm install bcryptjs -S

    引入与使用

    0.引入

    var bcrypt = require('bcryptjs');
    

    1.密码加密 ( Store hash in your password DB )

    var bcrypt = require('bcryptjs');
    var salt = bcrypt.genSaltSync(10);  //---散列10位长度,太长浪费性能没必要,过少的话,那么安全性又是个问题
    var hash = bcrypt.hashSync("123456", salt);  //---获得加密的 hash 密码
    

    2.密码解密 ( Load hash from your password DB )
    [ 比对上面获得的 hash 密码 ] 与 [ 当前用户明文输入的密码 ]

    bcrypt.compareSync("123456", hash);  // true   --- 密码正确
    bcrypt.compareSync("111111", hash); // false   --- 密码错误
    

    相关文章

      网友评论

          本文标题:散列加密 bcrypt 的无依赖包 bcrypt.js

          本文链接:https://www.haomeiwen.com/subject/kowffhtx.html