我使用框架laravel加密一些字符串,在我的laravel中我编写这样的代码:
public function getBankNameAttribute(){
return Crypt::encrypt($this->attributes['bank_name']);
}
结果是String' abc'加密为String
' eyJpdiI6InBxeTlKOVdFQ1FoN2hGNDdPSTJZUnc9PSIsInZhbHVlIjoiVzlQYVpsSlptUHF6QUMwalM0c21vZz09IiwibWFjIjoiNGFlYmY3OTk2MDUyYTcwMzMxMGYzYmQzODRhODUyNWRlZjMzNjNmMDU5NTJiMDg2NmJjNzhkYjI5NTkzYzI1YSJ9'
加密的返回总是不同的,因为从laravel生成IV。如果输出总是不同,我怎样才能解析laravel之外的字符串。特别是对于Android。
我在Google上搜索了整个文档,但没有人为Android制作它。提前谢谢。
答案 0 :(得分:0)
TheAlpha评论中的链接应该足够了。我只补充一点,如果你的base64字符串“eyJpdiI6InBxeTlKOVdFQ1FoN2hGNDdPSTJZUnc9PSIsInZhbHVlIjoiVzlQYVpsSlptUHF6QUMwalM0c21vZz09IiwibWFjIjoiNGFlYmY3OTk2MDUyYTcwMzMxMGYzYmQzODRhODUyNWRlZjMzNjNmMDU5NTJiMDg2NmJjNzhkYjI5NTkzYzI1YSJ9”解码(例如使用https://www.base64decode.org/),你会得到一个JSON文件有三个值:
另请参阅:How to decrypt in Java (Android) text that was encrypted with Crypt in Laravel?