0

我工作的公司在使用 jquery ajax 从客户端将帐户保存到服务器端代码时,在新页面上工作时发现了一个问题,即发送新/修改的用户密码。目前,密码以明文形式发送到 web 方法,在该方法中对其进行处理,然后在发送到数据库之前加密服务器端。

我主要担心的是嗅探器在中间捕获流量并获取明文密码,这是非常合乎逻辑的问题。

我的公司不使用 SSL/HTTPS,因此我正在研究其他加密方法。唯一可以更改密码的人是管理员,登录用户可以更改自己的密码。因此,没有其他人可以在未经身份验证的情况下访问该页面。

我是否应该在带有 3DES 的 javascript 中使用明文密钥将加密密码发送到服务器端并减少中间人攻击的机会,

或者我应该使用带有 RSA 的公钥/私钥系统,以便生成的公钥在发布时发送到客户端,只能加密数据,然后包含私钥的服务器端在发送时解密数据。

显然,用户/管理员总是能够在他们的网络浏览器中调试和查看他们的密码,但这是防止中间人攻击的更好解决方案。

我读过 rsa 加密可能非常需要资源来生成密钥。

谢谢。

4

1 回答 1

0

您可以使用RSA生成密钥对,并将公钥颁发给客户端。客户端可以使用有用的jQuery插件pidCrypt对其进行加密

回到服务器上,您可以使用私钥解密敏感数据。我们实际上正在为我们的ASP.NET Web API解决方案做一些类似的事情(此外它通过 HTTPS 运行)。

以下是 John Peterson 的一篇不错的文章,展示了如何做类似的事情并将RSA 与 Web API 结合使用

嗯。

于 2013-06-05T03:04:50.943 回答