目前我正在使用RSA类(在PHP中实现RSA算法的类)连接我的登录系统。我已经阅读了一些关于这个算法的信息,虽然我对它有一些疑问,并希望有人能澄清它们。
RSA正在使用两个密钥 - 公共密钥和私有密钥,两者都是使用算法生成的。这些密钥只生成一次,然后包含在站点代码中(一个在管理员上,一个在用户站点上)?
实现它的主要思想是在现场将登录表单中的login.php转换为代码公钥,并在发送登录和密码进行验证时使用公钥加密它们。在服务器端,此消息将使用私钥解密,并检查信息是否正确并发回true / false信息。你能告诉我它是否安全正确地使用它?
答案 0 :(得分:2)
只需使用HTTPS
而不是迷失在这些算法的实现中。我敢打赌,Javascript实现意味着客户端的开销很大。如果你想加密你的口袋,让传输层或应用层(HTTPS)来做它 - 它经过测试,速度快,工作正常,设置需要几分钟。
答案 1 :(得分:2)
请不要实现此功能 - 请改用HTTPS。你提出的建议根本不安全。如果您使用JavaScript在客户端加密表单数据,则表单数据将不安全。 JavaScript不适合加密。
基本规则是客户端上执行的任何操作都是恶意的。在客户端上运行加密是一个非常糟糕的主意。
再次 - 使用HTTPS或不执行此操作。
答案 2 :(得分:0)
如果您希望传输安全,则无法使用服务器端脚本语言。当明文密码到达服务器时,加密和解密将首先发生,使听众有足够的时间进行拦截。您可以使用RSA的javascript实现来加密密码客户端,然后在服务器端加密以解密它。
您可以使用加密的公钥和服务器上的私钥进行解密。