【问题标题】:Password visible in request payload devtools密码在请求有效负载 devtools 中可见
【发布时间】:2019-01-23 13:05:41
【问题描述】:

使用 bcrypt 对密码进行哈希处理,并将加密形式的密码保存在数据库中,因为我必须继续操作,以便密码在请求负载中不可见?

Example of payload at login

在与数据库用户名进行用户名比较后,我通过 bcrypt 进行密码比较。但问题实际上是如何隐藏或显示有效载荷中加密的密码。

编辑

Example of payload at recover password

另一个问题是何时恢复密码。在payload中显示的是新密码,请问如何解决request payload的这些问题?

提醒我,我正在使用 bcrypt 库,如下所示:

var hash = bcrypt.hashSync('myPassword', 10);

并进行验证:

if(bcrypt.compareSync('somePassword', hash)) {
// Passwords match
} else {
// Passwords don't match
}

【问题讨论】:

  • 请避免将代码发布为图片,而是使用文本。

标签: javascript sql node.js reactjs bcrypt


【解决方案1】:

您可以使用 RSA,这样您的密码就不会在“请求有效负载”中仅显示加密的密码

  1. 您向服务器发送 ajax 以获取公钥
  2. 您将私钥存储在数据库中
  3. 在客户端使用公钥加密密码
  4. 向您的服务器发送请求并使用您存储的私钥对其进行解密

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-09-23
    • 2020-04-30
    • 1970-01-01
    • 2021-09-27
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多