繁体   English   中英

Laravel 7.x 加密,CryptoJS 解密?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM