需求:flutter aes加密代码,在仓库中找到encrypt工具包,源码在github,经过一番尝试发现aes mode没有需要的cfb8。需要改造依赖包,然后发布依赖。
从 github拉取原encrypt包代码
改造代码
aes.dart文件
enum AESMode {
cbc,
cfb64,
ctr,
ecb,
ofb64Gctr,
ofb64,
sic,
cfb8
}
const Map<AESMode, String> _modes = {
AESMode.cbc: 'CBC',
AESMode.cfb64: 'CFB-64',
AESMode.ctr: 'CTR',
AESMode.ecb: 'ECB',
AESMode.ofb64Gctr: 'OFB-64/GCTR',
AESMode.ofb64: 'OFB-64',
AESMode.sic: 'SIC',
AESMode.cfb8: 'CFB-8',
};
添加AESMode.cfb8: 'CFB-8',
修改项目名称pubspec.yaml
name: encryptplus
创建pub.dev账户
使用代理,科学上网
https://pub.dev/
点击登录、注册。
需要一个域名 yuwb.pub
按照谷歌账号指示,添加dns域名解析。
验证成功后创建成功。
终端配置代理
export https_proxy=http://127.0.0.1:4780
export http_proxy=http://127.0.0.1:4780
set https_proxy=https://127.0.0.1:4780
set http_proxy=http://127.0.0.1:4780
非全局代理,4780为代理端口,替换成自己的。
使其能访问谷歌账号
项目终端登录
pub login
项目发布
flutter packages pub publish --server=https://pub.dartlang.org
发布成功后
其他flutter项目中添加依赖即可使用
dependencies:
encryptplus: 5.0.2
import 'package:encryptplus/encrypt.dart' as encrypt;
final encrypter = encrypt.Encrypter(encrypt.AES(key,mode: encrypt.AESMode.cfb8, padding :null));