PHP-Javascript加密和解密使用相同的密钥

问题描述:

我正在一个应用程序谁的前端是JavaScript(骨干)和codeigniter(php)后端。我想要一种方法,可以使用密钥在后端对消息进行加密,并使用相同的密钥对javascript中的消息进行解密。基本上我需要这个流程进行用户认证。PHP-Javascript加密和解密使用相同的密钥

因为我无法通过互联网找到这样的组合,它变​​成了一个运气不好的运气。这种工作流程可以采用什么方式?

谢谢

+0

是不是基于SSL/TLS的HTTP你在找什么?如果JavaScript部分通过HTTPS与您的PHP-API进行通信,则邮件将被加密。 – 2013-02-13 08:03:35

+0

客户端没有真正的安全解密。每个人都可以看看算法和密钥... – Sirko 2013-02-13 08:06:36

+0

你将如何将这个密钥传输到客户端? – 2013-02-13 08:56:35

使用HTTPS几乎是唯一有意义的答案。依靠Javascript加密是不好的,因为恶意用户可以做各种令人讨厌的东西来注入脚本,让你的前端以明文形式发送密码,或者将它们发送到攻击者控制的服务器。

HTTPS和SSL/TLS存在问题,但它是保护Web应用程序通信通道的标准机制。该领域的专家已经对其进行了广泛的审查,并已针对各种故障模式和攻击情况提供保护。

例如:听起来像在您的评论中,您将使用单个静态密钥进行加密。既然你需要把密钥发送给客户端,你将如何安全地做到这一点?什么阻止用户通过访问您的登录页面合法获取密钥,然后使用它来解密任何其他用户的通信?如果使用一个密钥发送了足够多的消息,那么您的移动到新密钥的机制是什么?

HTTPS涵盖了这些场景。如果你正在用你的web应用程序“真正”做某件事(如果这些日子真的只有几美元),那么你可能需要为证书付出几块钱,但这确实是一条可行的路。