gpt4 book ai didi

javascript - HTTPS协议(protocol)的前端(客户端浏览器)是否需要密码加密?

转载 作者:太空宇宙 更新时间:2023-11-03 14:09:26 25 4
gpt4 key购买 nike

如标题所示,

Environment: password is already hash in database, and connection using HTTPS protocol

我的问题很简单,通过 HTTPS,我看到一些网站使用 SSL,但在提交表单时也在前端(客户端浏览器)进行密码加密。

Is require?

在我看来,因为网站使用的是 SSL。无需在前端(客户端浏览器)加密密码。因为无论前端(客户端浏览器)做什么,黑客也可以通过使用库(客户端浏览器导入 javascript 哈希算法)来加密和发送 token 。即使放盐也少了点,只是黑客多了一个加密步骤而已。

除非盐来自其他方式,而不是来自同一来源(从服务器呈现的页面)。示例:从移动设备,然后使用 otp 作为盐可以解析。

否则我认为加密在前端(客户端浏览器)中没有用。

我说的对吗?或者我错过了一些东西......

最佳答案

问题是,网站除了信任 HTTPS/SSL 连接之外别无选择。无论您在客户端(浏览器)做什么加密都将在 JavaScript 中完成,并且必须首先将此脚本发送到客户端。 ManInTheMiddle 可以执行与您的客户相同的操作,或者他可以简单地删除整个脚本。

当您和您的同事试图发明一种 secret 语言时,您会遇到同样的问题,而坏人却在窃听。如果您还没有共享 secret ,这是不可能的。 SSL 证书解决了这个问题,因为浏览器内置了一个根证书列表,它将充当已经共享的 secret

对于具有客户端和服务器部分的应用,情况有点不同。在那里,您可以为您的应用程序安装一个 key ,并且基于这个已经共享的 key ,您可以建立一个安全连接。

所以简短的回答是:是的,只要使用 HTTPS/SSL 加密连接,就可以发送明文密码。

关于javascript - HTTPS协议(protocol)的前端(客户端浏览器)是否需要密码加密?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34126145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com