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

时间:2016-01-25 16:14:47

标签: encryption aes client-side

我想加密从客户端发送的密码。我找到了提供AES实现的crypto-js。我的问题是,如果我使用“密码”进行加密,任何可以查看页面来源的人是否也可以看到我的“密码短语”?如果我有错误的概念,请帮我清除它。

2 个答案:

答案 0 :(得分:1)

不,如果密码没有存储在JavaScript中,您就无法读取密码。

但是,几乎在任何可以读取JavaScript代码的情况下,JavaScript代码也可以更改。如果你不相信代码,那么所有的赌注都是关闭的 - 密码可以发送到任何地方或从任何地方检索。

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

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

如果要在服务器上安全地存储密码(哈希),则应用程序级安全性非常有用。然后,您可以使用后端服务处理加密密码。

答案 1 :(得分:0)

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

但实际上,做一些研究:

  • 密码哈希:您真的需要知道用户密码的纯文本吗?
  • 为什么在几乎所有用例中使用javascript加密都是一个真的坏主意。
  • 信息安全全面

将信息安全保留给知道他们地盘的人。你很可能会引入新的问题,因为加密很难,即使有最好的意图。