使用 AES 从客户端加密密码?

Encrypt password from client side using AES?

我想加密从客户端发送的密码。我找到了提供 AES 实现的 crypto-js。我的问题是,如果我使用 "passphrase" 进行加密,任何可以查看页面源代码的人是否也能看到我的 "passphrase"?如果我概念有误,请帮我解决一下。

回答你的实际问题:是的,每个人都会看到密码。

但真的,做一些研究:

  • 密码散列:你真的需要知道用户密码的明文吗?
  • 为什么在几乎所有用例中使用 javascript 进行加密是一个 确实 坏主意。
  • 信息安全无处不在

将信息安全留给了解自己地盘的人。你很可能会引入新问题,因为 crypto 很难,即使是出于好意。

不,如果密码未存储在 JavaScript 中,您将无法读取密码。

然而,几乎在任何情况下,JavaScript 代码都可以读取,JavaScript 代码也可以更改。如果您不能信任该代码,那么所有赌注都将失败 - 密码可能会发送到任何地方或从任何地方检索。

以网吧为例。您连接到 "coffeeplace.com",但实际上您登录的是一个恶作剧服务。在这种情况下,可以更改任何未受保护的连接。如果恶作剧服务获得了流氓 CA 证书,那么对于 HTTPS 连接也是如此。

如果您想保护密码,您应该通过 HTTPS 连接发送它。如果您希望在 HTTPS 传输安全性 之上应用程序级安全性 ,那么您可以使用 public 密钥加密密码;服务器稍后可以使用私钥对其进行解密。

例如,如果您想在服务器上安全地存储密码(哈希),应用程序级别的安全性非常有用。然后您可以稍后使用 back-end.

中的服务处理加密密码