Express下采用bcryptjs进行密码加密的方法
前几天利用Express开发了个小项目,开发登录注册模块时,采用bcryptjs进行密码加密,总结了一下内容: bcrypt,是一个跨平台的文件加密工具。由它加密的文件可在所有支持的操作系统和处理器上进行转移。它的口令必须是8至56个字符,并将在内部被转化为448位的密钥。 除了对您的数据进行加密,默认情况下,bcrypt 在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得您的计算机数据的人恢复数据的尝试。如果您不想使用此功能,可设定禁用此功能。 bcrypt 使用的是布鲁斯·施内尔在1993年发布的 Blowfish 加密算法。具体来说,bcrypt 使用保罗·柯切尔的算法实现。随 bcrypt 一起发布的源代码对原始版本作了略微改动。 Express下bcryptjs的使用步骤:1.安装bcryptjs模块 2.在需要加密的模块中引入bcryptjs库 3.设置加密强度 4.注册时生成HASH值,并插入数据库 5.登录时验证HASH值,并插入数据库 以上采用的是bcryptjs的同步用法,下面介绍异步用法: 生成hash密码: 密码验证: {
// res === true
});
下面是使用Bcrypt对数据加密的一个简单的栗子: // 连接数据库
mongoose.connect('mongodb://localhost:27017/test') // 定义用户模式 // 使用pre中间件在用户信息存储前进行密码加密 // 进行加密(加盐) // 编译模型 // 创建文档对象实例 // 保存用户信息 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- 关于ajax跨域的解决方案
- 是否可以从C#读取内部CPU滴答计数器?
- ajax 简单实例
- c# – 如何使用ActionFilterAttribute记录运行时间?
- EtherChannel Cisco 端口聚合详解
- ruby-on-rails – Rails应用程序:使用gem,包括带有Twitter
- React 实践项目 (二) redux + immutable + redux-saga
- Oracle 817的client连接oracle 817的服务器端报错 ORA-1253
- ruby-on-rails – 如何在Openstruct对象上使用“each”?
- flash中注册时间的第四个参数useWeakReferences