在ajax请求中加密密码,并在laravel控制器(.php)中解密


Encrypt password in ajax request and decrypt in laravel controller (.php)

正如标题所说,在通过ajax将密码发送到服务器之前,我如何加密密码,然后在php中解密(由于JS在客户端运行,php在服务器端运行,我不知道如何使用相同的场景/算法加密和解密)?目前我正在使用laravel作为框架。有些人说我应该使用https,但我想避免使用这个。

我感谢任何链接或教程。

您在客户端进行的任何加密都是不安全的,因为用于加密的代码将很容易看到。

为什么要避免使用https?根据定义,它将发送加密的数据。

我更喜欢rsa加密。

用Javascript的公共rsa密钥加密您的密码,并将字符串发送到服务器。

您可以使用此库加密:https://github.com/travist/jsencrypt

用php:用你的私人rsa密钥解密它

在PHP中使用RSA对文本进行加密和解密和将phpseclib集成到Laravel 5 中

javascript的base64 btoa(string)将帮助编码密码,在laravel中可以使用base64_decode($string) 解密

在编写服务器应用程序时有一条简单的规则:永远不要信任用户数据。类似地,客户端验证

了解基本JavaScript的用户可以输入恶意数据并侵入您的应用程序。

您可以考虑以下公钥加密js库

pidCrypt

https://github.com/ncb000gt/node.bcrypt.js/

请记住,如果您不使用SSL,您可能容易受到攻击。

希望这会有所帮助。