Javascript 为什么facebook在将密码发送到服务器之前不使用公钥加密密码?

Javascript 为什么facebook在将密码发送到服务器之前不使用公钥加密密码?,javascript,facebook,rest,security,public-key-encryption,Javascript,Facebook,Rest,Security,Public Key Encryption,如上面的屏幕截图所示,facebook在请求标题中显示用户密码 我只是想知道为什么facebook不使用公钥隐藏密码 编辑: 即使加密数据是HTTPS的工作,但使用类似FIDDLER的应用程序也可以破坏HTTPS 在将密码发送到服务器之前对其进行加密有什么问题?正如@WizKid所评论的那样,在从浏览器发送密码之前,密码是使用HTTPS加密的,但您正在签入的控制台在加密之前获取数据。您可以尝试使用fiddler之类的工具查看实际发送的内容。正如@WizKid评论的那样,您在问题中建议的加密正是H

如上面的屏幕截图所示,facebook在请求标题中显示用户密码

我只是想知道为什么facebook不使用公钥隐藏密码

编辑:

即使加密数据是HTTPS的工作,但使用类似FIDDLER的应用程序也可以破坏HTTPS


在将密码发送到服务器之前对其进行加密有什么问题?

正如@WizKid所评论的那样,在从浏览器发送密码之前,密码是使用HTTPS加密的,但您正在签入的控制台在加密之前获取数据。您可以尝试使用fiddler之类的工具查看实际发送的内容。

正如@WizKid评论的那样,您在问题中建议的加密正是HTTPS在做什么。

HTTPS使用可信第三方证书颁发机构在浏览器或设备中预先安装的签名证书,来验证网站和相关服务器的身份。这将防止网站钓鱼中间人(MITM)攻击。

用户web服务器之间的通信通过传输层安全(TLS)或安全套接字层(SSL)进行加密,因此您交换的数据受到MITM攻击的保护。


由于HTTPS依赖于信任签名证书,您可以使用Fiddler对数据进行解密,因为Fiddler要求您向信任添加一个自生成的证书。没有您的许可,您的数据将安全

,因为HTTPS不能通过使用类似FIDDLER的应用程序来破坏


在将密码发送到服务器之前对其进行加密并没有什么错,这只是额外的工作,Facebook可能不相信这会从安全角度增加任何内容。

这不是HTTPS吗?我不知道为什么这些问题会被否定。要点。但实际上我想知道脸谱网是如何如此无知,以至于它不能给中间人攻击,这是可以用<代码> FIDDLE 之类的应用来完成的。Web应用程序无法阻止用户对自己进行中间人攻击。第三方用户不能使用fiddler截获数据,除非首先侵入您的计算机以接受fiddler根证书,以显示您惊人的公钥加密,在这里,当我有权访问浏览器时,我无法访问密码。@WizKid我很抱歉。我是个笨蛋,我理解你说的非常正确,我完全同意。但是我发现了一个github项目,它可以帮助加密字符串(密码)。在将密码发送到服务器之前对其进行加密不是更安全吗。我只是在问如果我们这样做会不会更安全。这正是我的问题所在。如果脸谱网知道HTTPS可以被类似于FIDLE的应用程序破坏,那么为什么它不考虑使用公钥加密密码。或者facebook不知道…???在fiddler中,密码是加密的,唯一的方法是通过在浏览器中接受fiddler的根证书来“黑客”浏览器,以便浏览器可以接受fiddler的pub密钥而不是facebook的公钥。HTTPS基于使用公钥(至少是交换用于其余通信的密钥)