[英]Laravel 7.x Encrypt, CryptoJS decrypt?
我正在尝试解密我在 Laravel 7.x 上创建的字符串,使用 Laravel 文档建议的默认加密器“Crypt::encryptString”,问题是我到处搜索一种方法来解密 ZDE9B9ED7EEEE918 上的消息级别,我总是以一个空字符串结束,我使用了以下代码,但对我不起作用,我试图读取 laravel 内部加密 class。
我加密消息的方式
$test = Crypt::encryptString('Testing this');
我试过的解决方案:
1.以下代码
https://gist.github.com/huzemin/e8d7a904cec55d4d7635c9322f143c42
2.CryptoJS,我尝试了多种不同的选项,没有任何效果
还有一件小事,当 laravel 生成一个密钥时,它总是以 base64 开头:,我应该把它作为密钥的一部分吗?
例子:
APP_KEY=base64:0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
//This is my key on the .env
$test = Crypt::encryptString('Testing this');
//eyJpdiI6Ilk0TGJ4eEh3WGUyTzhaWVdCMXY4SHc9PSIsInZhbHVlIjoiU3JuQXh0ekl6cEpBekgwVnJKSzBZZz09IiwibWFjIjoiYTRjYTM5ZTJlNzViMjVmZDIxMWU0Y2M0ZmQ4Y2YyZDVkZDMzOGZiMGZmMDU5N2RjNDYxMDcxMDcyNzA4ZjIzNiJ9
提前致谢。
好的,事实证明,要点上的脚本几乎就在那里,我只需要根据第 23 行的“tim-reynolds-thegrommet”评论更改获取密钥的方式,第 12 行的 annnnd(这就是他所做的) '不提)也许太明显了,我觉得自己很愚蠢:(,无论如何,所以每个
CryptoJS.enc.Utf8.parse(this.key)
应该改成
CryptoJS.enc.Base64.parse(this.key)
是的,您不需要来自.env laravel 文件的密钥中的“base64:”,只需复制 rest,
前任:
APP_KEY=base64:0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
就拿
0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
作为您的钥匙,感谢罗伯特哈维的评论。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.