Laravel 5-用Javascript解密Crypt :: encrypt

hun*_*eox 3 javascript php laravel cryptojs

Crypt::encrypt用来加密我的数据并提供给Javascript代码。如何解密Javascript中的数据?

小智 6

使用可在(https://code.google.com/p/crypto-js/)上找到的laravel 5.1和CryptoJS 。

在.env中设置:

  1. APP_KEY =超级钥匙

在config / app.php中设置:

  1. '密码'=>'AES-256-CBC'

在MyController.php中:

  1. $ mySecret =“我想对他们隐藏的东西”;

  2. $ encrypted =加密:: encrypt($ mySecret);

在index.js中:

  1. var key =“ uberkeythatrocks”;

  2. var解密= CryptoJS.AES.decrypt(加密,密钥);

  3. var可读=解密.toString(CryptoJS.enc.Utf8);

重要说明:PHP中的“密钥”必须与JS中的“密钥”相同,而PHP中的“密码”必须与JS中的相同,但是CryptoJS会根据情况自动选择AES-128-CBC或AES-256-CBC在您“钥匙”的长度上。尽管laravel 5.1默认的“密码”是AES-256-CBC,所以我建议您从.env文件中获取“密钥”以在JS中使用。

从Laravel更改或生成新的“密钥”

  1. C:/ mylaravel> php artisan key:generate [输入]

使用AES-128-CBC

  1. 编辑config / app.php并设置'cipher'=>'AES-128-CBC'

然后

  1. C:/ mylaravel> php artisan key:generate [输入]

注意,更改“密钥”将意味着除非删除用户然后创建新用户,否则现有用户帐户登录密码将不起作用。

希望这可以帮助!:)