密码在请求有效负载devtools中可见

时间:2019-01-23 13:05:42

标签: javascript sql node.js reactjs bcrypt

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

Example of payload at login

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

修改

Example of payload at recover password

另一个问题是何时恢复密码。有效负载中显示了新密码,如何解决请求有效负载的这些问题?

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

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

并进行验证:

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

1 个答案:

答案 0 :(得分:0)

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

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