带RSA算法的PHP登录系统

时间:2012-04-21 21:51:58

标签: php security login

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

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

实现它的主要思想是在现场将登录表单中的login.php转换为代码公钥,并在发送登录和密码进行验证时使用公钥加密它们。在服务器端,此消息将使用私钥解密,并检查信息是否正确并发回true / false信息。你能告诉我它是否安全正确地使用它?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

请不要实现此功能 - 请改用HTTPS。你提出的建议根本不安全。如果您使用JavaScript在客户端加密表单数据,则表单数据将不安全。 JavaScript不适合加密。

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

再次 - 使用HTTPS或不执行此操作。

答案 2 :(得分:0)

如果您希望传输安全,则无法使用服务器端脚本语言。当明文密码到达服务器时,加密和解密将首先发生,使听众有足够的时间进行拦截。您可以使用RSA的javascript实现来加密密码客户端,然后在服务器端加密以解密它。

您可以使用加密的公钥和服务器上的私钥进行解密。