第三方模块 bcrypt(加密模块)

为什么需要使用它

如果想在数据库中存储一些信息(比如密码等)而不想以明文的信息存储的话,那么就需要对其进行加密处理,在 node.js 中就可以引入第三方模块 bccrypt 对其进行加密处理

bcrypt 是一个跨平台的文件加密工具,为了保护用户的明文密码不被泄露,一般会对密码进行单向不可逆加密——哈希,简单一点加密之后,数据库里面存放的是一堆加密过后的信息

如何使用(win10)

这个模块的使用不像有的模块使用那么的方便,直接通过 npm 进行安装就好,它还需要依赖其它的环境

依赖的其它环境
1.python 2.x

链接:https://pan.baidu.com/s/13yLYwR6XIWX5rK4XWjct_g
提取码:5klr

2.node-gyp

npm install -g node-gyp

3.windows-build-tools

npm install --global --production windows-build-tools

ps:不知道是我运气不好还是怎么回事,遇到了好多问题,真的吐了(一下午转瞬即逝)

另外一个舒服的模块 bcryptjs

bcryptjs 是一个第三方密码加密库,是对原有 bcrypt 的优化,优点是不需要安装任何依赖

直接引入即可使用

npm install bcryptjs

举个例子

const bcryptjs = require('bcryptjs');

async function test(passwprd) {
   

  // genSalt 方法
  // 接收一个数值作为参数,数值越大,返回的字符串复杂度越高,默认值10
  let salt = await bcryptjs.genSalt(10);
  // hash 方法
  // 第一个参数要加密的密码,第二个参数生成盐(salt)
  let result = await bcryptjs.hash(passwprd,
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Bcrypt加密算法是一种慢哈希算法,相同明文通过Bcrypt生成的密文每次都是不一样的,这样就无法通过直接比对密文来反推明文。与MD5相比,Bcrypt加密算法的执行时间较长,约为0.3秒,而MD5加密约为1微秒。这使得暴力破解Bcrypt的时间成本很高。此外,Bcrypt加密长度为60位,而MD5只有32位,这也提高了穷举破解的难度。因此,Bcrypt加密算法相对于MD5具有更高的安全性和抗攻击性。\[1\] 引用\[1\]:相同明文通过Bcrypt生成的密文每次都是不一样的,MD5则相同。这样就无法通过直接比对密文来反推明文。 2、Bcrypt是种慢哈希算法,执行时间较长。有文章指出,针对某一字符串,Bcrypt执行一次加密约0.3秒,MD5加密约1微秒(百万分之一秒)。使得暴力破解Bcrypt的时间成本很高。Bcrypt加密长度60位,MD5是32位,提高穷举难度。\[1\] #### 引用[.reference_title] - *1* *2* [Bcrypt 加密算法研究与对比](https://blog.csdn.net/x2hg123/article/details/107961008)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [spring security (BCryptPasswordEncoder)加密及判断密码是否相同](https://blog.csdn.net/hcrw01/article/details/107745555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值