背景介绍
在Flutter开发中,处于安全考虑,可能需要将请求数据加密处理后再传输,今天我们就介绍下Flutter种如何进行加解密,和如何将加解密应用到网络请求中,正文开始
引入加密库
encrypt: ^5.0.3
使用加密函数进行加密
AES加密
import 'package:encrypt/encrypt.dart' as ECP;
import 'package:encrypt/encrypt.dart';
///AES加密
String _aesEncrypted(String aesKey, String ivKey, String text) {
print("aes加密,原文:$text");
final key = ECP.Key.fromUtf8(aesKey);
final iv = ECP.IV.fromUtf8(ivKey);
final encrypter = ECP.Encrypter(ECP.AES(key, mode: ECP.AESMode.cbc, padding: "PKCS7"));
final encrypted = encrypter.encrypt(text, iv: iv);
print("aes加密${encrypted.base64}");
return encrypted.base64;
}
AES解密
///AES解密
String _aesDecrypted(String aesKey, String ivKey, String text) {
try {
final key = ECP.Key.fromUtf8(aesKey);
final encrypter = Encrypter(AES(key, mode: AESMode.cbc)