Dart AES CBC PKCS5Padding

由于Android项目使用的加密方式参数为 AES/CBC/PKCS5Padding,所以在pub.com上一直没有找到相匹配的插件,今天看到一篇文章说,其实Java的PKCS5Padding就是PKCS7Padding,所以就抱着试一试的心态(坑啊。。)用了一下encrypt插件加密,果然跟Java的加密结果一致,特此记录一下。

import 'package:encrypt/encrypt.dart' as encrypt;

final plainText = 'asddf';//加密文案
final key = encrypt.Key.fromUtf8('dsafsdafas');//加密key
final iv = encrypt.IV.fromUtf8('fsdafasdf');//偏移量

//设置cbc模式
final encrypter = encrypt.Encrypter(encrypt.AES(key,mode: encrypt.AESMode.cbc));

final encrypted = encrypter.encrypt(plainText, iv: iv);
final decrypted = encrypter.decrypt(encrypted, iv: iv);

print(decrypted); 
print(encrypted.base64); 

因Key文件名冲突,所以设置别名encrypt

参考文章:
http://zhuqiaochu.truestudio.tech/dart-java-swift-aes-cbc-pkcs7padding/
插件地址:
https://pub.dev/packages/encrypt#-readme-tab-

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容