Laravel 7.x 加密,CryptoJS 解密?
Laravel 7.x Encrypt, CryptoJS decrypt?
我正在尝试使用默认加密器解密我在 Laravel 7.x 上创建的字符串
'Crypt::encryptString' ,这是 Laravel 文档建议的,问题是
我到处寻找一种方法来解密 javascript 级别的消息,但我总是得到一个空字符串,
我使用了以下代码,但对我不起作用,我尝试阅读 laravel 内部加密 class。
我加密消息的方式
$test = Crypt::encryptString('Testing this');
我尝试过的解决方案:
1.the 以下代码
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”更改我获取密钥的方式,
annnnd 在第 12 行(那是他没有提到的)也许太明显了我觉得自己很蠢 :( 无论如何
所以每个
CryptoJS.enc.Utf8.parse(this.key)
应该改成
CryptoJS.enc.Base64.parse(this.key)
是的,您不需要 .env laravel 文件中密钥中的“base64:”,只需复制其余部分,
例如:
APP_KEY=base64:0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
就拿
0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
作为您的密钥,感谢 Robert Harvey 评论。
我正在尝试使用默认加密器解密我在 Laravel 7.x 上创建的字符串 'Crypt::encryptString' ,这是 Laravel 文档建议的,问题是 我到处寻找一种方法来解密 javascript 级别的消息,但我总是得到一个空字符串, 我使用了以下代码,但对我不起作用,我尝试阅读 laravel 内部加密 class。
我加密消息的方式
$test = Crypt::encryptString('Testing this');
我尝试过的解决方案:
1.the 以下代码
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”更改我获取密钥的方式, annnnd 在第 12 行(那是他没有提到的)也许太明显了我觉得自己很蠢 :( 无论如何 所以每个
CryptoJS.enc.Utf8.parse(this.key)
应该改成
CryptoJS.enc.Base64.parse(this.key)
是的,您不需要 .env laravel 文件中密钥中的“base64:”,只需复制其余部分,
例如:
APP_KEY=base64:0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
就拿
0q2V8/90FYnWmEKpks13QMPHoEJhZLlEcr9eW0BMdhU=
作为您的密钥,感谢 Robert Harvey 评论。