3

目前我正在将我的登录系统与 RSA 类(在 PHP 中实现 RSA 算法的类)连接起来。我已经阅读了一些关于这个算法的信息,虽然我对它有一些疑问,希望有人能澄清它们。

RSA 在两个密钥上运行 - 公钥和私钥,两者都是使用算法生成的。这些密钥是否只生成一次,然后包含在站点代码中(一个在管理员站点上,一个在用户站点上)?

实现它的主要思想是将带有登录表单的 login.php 放到网站上,将其转换为公钥代码,并在发送登录名和密码进行验证时使用公钥对其进行加密。在服务器端,此消息将使用私钥解密并检查信息是否正确并发回真/假信息。你能告诉我它是否安全和正确使用它?

4

3 回答 3

2

只需使用HTTPS而不是在这些算法的实现中迷失方向。我敢打赌,Javascript 实现将意味着客户端的大量开销。当你想加密你的口袋时,让传输层或应用层 (HTTPS) 来做——它已经过测试,速度很快,它正在工作,设置需要几分钟。

于 2012-04-21T22:18:12.677 回答
2

请不要实现这一点 - 改用 HTTPS。你提出的根本不安全。如果您在客户端使用 JavaScript 对其进行加密,表单数据将不安全。JavaScript 不适合加密。

基本规则是在客户端执行的任何操作都是恶意的。在客户端上运行加密是一个非常糟糕的主意。

再次 - 使用 HTTPS 或不这样做。

于 2012-04-21T22:21:20.413 回答
0

如果您希望传输安全,则不能使用服务器端脚本语言。当明文密码到达服务器时,加密和解密将首先发生,给监听器很好的拦截时间。您可以使用 RSA 的 javascript 实现在客户端加密密码,然后在服务器端使用 php 对其进行解密。

您将拥有用于加密的公钥和用于解密的服务器上的私钥。

于 2012-04-21T22:11:57.043 回答