node密码加密

方式一:使用bcryptjs

npm文档:https://www.npmjs.com/package/bcryptjs

使用方法很简单
首先安装该依赖

npm install bcryptjs

引入项目中,可以在登录注册路由所在的地方进行引入

var bcrypt = require('bcryptjs');

接下来就可以在项目中对想要加密的数据进行加密了

bcrypt.genSalt(10, function(err, salt) {
    bcrypt.hash(要加密的字段, salt, function(err, hash) {
        // Store hash in your password DB.
        // hash 就是加密后的结果
    });
});

对加密的数据进行检查也很简单
使用的是bcrypt的compare方法,当使用回调函数的模式的时候传入三个参数,第一个就是被加密的字段,在注册登录场景中就是用户输入的不经过加密的字段,第二个就是加密后得到的hash值,也就是存到数据库中的字段,通过这两个参数的比较可以判断登录场景下输入的密码和数据库里面的密码是否相同,参数三是一个回调函数,node是错误优先的回调函数,第一个参数是错误的结果,第二个参数是判断的结果,如果正确,res返回的就是true

// Load hash from your password DB.
bcrypt.compare(要加密的字段, hash, function(err, res) {
    // res === true
}); 
// As of bcryptjs 2.4.0, compare returns a promise if callback is omitted:
bcrypt.compare(要加密的字段, hash).then((res) => {
    // res === true
});
全部评论

相关推荐

xiaowl:1. 技能堆叠没有意义,精简下,而且里面的精通、熟练等内容,其实经不起推敲,这里可以简单写清楚你在前端、后端等领域,有哪些你自己比较经验丰富熟练的技能,以及哪些有过一定涉猎,做一定区分度 2. 项目方案有些单薄,但是这个项目本身还是有很多挑战点的,你应该思考下对于里面有难题的挑战点,你是怎么解决的,避免泛泛而谈。比如,多人编辑是一个老大难问题,包括了互斥、协作等,这里可以详细讲一讲你怎么设计解决问题的。
点赞 评论 收藏
分享
程序员小白条:一般不用左右的模块,自我评价没啥用,这个简历纯前端,然后全是CRUD,说实话我这个后端全能做
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务