Javascript 保护HTTP流量不被嗅探

Javascript 保护HTTP流量不被嗅探,javascript,asp.net,security,ssl,Javascript,Asp.net,Security,Ssl,很抱歉,如果有人问这个问题,我还没有找到确切的问题。我有一个HTML表单,它是以明文形式提交的。我知道有带SSL的HTTPs,但我不想买证书。是否可以以某种方式对表单数据进行加密?我在想两件事: 通过javascript散列表单数据——事实上,我只想发送密码,所以我不需要知道它的“原始值”。 RSA-不确定它是否可以用javascript实现。 你有什么建议?还有其他变种吗? 哈希是一个单向过程。。您无法找到原始值 从散列中。 有一个问题,但我真的看不出其中的目的,因为就像Andy在回答中所说的

很抱歉,如果有人问这个问题,我还没有找到确切的问题。我有一个HTML表单,它是以明文形式提交的。我知道有带SSL的HTTPs,但我不想买证书。是否可以以某种方式对表单数据进行加密?我在想两件事:

通过javascript散列表单数据——事实上,我只想发送密码,所以我不需要知道它的“原始值”。 RSA-不确定它是否可以用javascript实现。 你有什么建议?还有其他变种吗? 哈希是一个单向过程。。您无法找到原始值 从散列中。 有一个问题,但我真的看不出其中的目的,因为就像Andy在回答中所说的那样,您用于加密的密钥将以明文形式发送给客户端。 实现这一点的标准和顺便说一句的唯一方法是https。您只需使用自己的证书即可启用ssl,无需购买证书。但是浏览器可能会警告访问者证书尚未由已知的权威机构签名

哈希是一个单向过程。。您无法找到原始值 从散列中。 有一个问题,但我真的看不出其中的目的,因为就像Andy在回答中所说的那样,您用于加密的密钥将以明文形式发送给客户端。
实现这一点的标准和顺便说一句的唯一方法是https。您只需使用自己的证书即可启用ssl,无需购买证书。但是浏览器可能会警告访问者证书尚未由已知的权威机构签名。

无论您执行何种浏览器端加密,都需要使用加密密钥—攻击者可以使用该密钥。因此,虽然您的密码将向临时观察者加密,但没有针对目标攻击提供额外的安全性

在这种情况下,哈希是无用的,因为哈希版本的密码成为用于授权/注册用户的密码

这个问题的唯一解决方案是SSL证书——它们非常便宜

没有附属链接

如果可以教育用户信任将出现的浏览器警告,则甚至可以使用。因为自签名证书没有证书颁发机构来证明证书是合法获取的,例如,不是由浏览器中的远程主机提供的,用户非常大声地将其视为不安全而予以拒绝

下面有一篇关于Javascript安全性的好文章:

将Javascript安全地交付给浏览器是一个鸡蛋问题

浏览器Javascript不利于加密

Javascript的视图源代码透明度是虚幻的

在这些问题得到解决之前,Javascript并不是一个严肃的密码 研究环境,并因此遭受损失


无论您执行何种浏览器端加密,都需要使用加密密钥—攻击者可以使用该密钥。因此,虽然您的密码将向临时观察者加密,但没有针对目标攻击提供额外的安全性

在这种情况下,哈希是无用的,因为哈希版本的密码成为用于授权/注册用户的密码

这个问题的唯一解决方案是SSL证书——它们非常便宜

没有附属链接

如果可以教育用户信任将出现的浏览器警告,则甚至可以使用。因为自签名证书没有证书颁发机构来证明证书是合法获取的,例如,不是由浏览器中的远程主机提供的,用户非常大声地将其视为不安全而予以拒绝

下面有一篇关于Javascript安全性的好文章:

将Javascript安全地交付给浏览器是一个鸡蛋问题

浏览器Javascript不利于加密

Javascript的视图源代码透明度是虚幻的

在这些问题得到解决之前,Javascript并不是一个严肃的密码 研究环境,并因此遭受损失


但我不想买证书,如果我知道一个服务所有者会像你一样推理——我永远不会使用任何与那个人相关的服务。要免费这么做,你需要使用一个自签名证书。也许有人可以写一个答案来解释怎么做。但我不想买证书,如果我知道服务所有者会像你一样推理的话-我永远不会使用任何与此人相关的服务。要免费这样做,你需要使用自签名证书。也许有人可以写一个答案来解释如何使用RSA?或者这不可能在javascript中实现?@seek这不是不可能的,但它有致命的缺陷。请参阅更新RSA如何?或者这不可能在javascript中实现?@seek这不是不可能的,但它有致命的缺陷。请参阅更新