Flutter开发-密钥保护
本文介绍了如何使用envied库保护Flutter项目中的敏感数据(如API Key)。首先安装envied依赖,创建.env文件存储密钥,再通过envied_generator生成混淆文件。关键步骤包括:配置.env文件、创建env.dart模板、运行生成脚本,最后提醒必须将.env和自动生成文件加入.gitignore避免泄露。该方法可以有效增加反编译难度,确保敏感信息安全。
·
懒得说废话了,简单来说就是保护写在程序中的APIKEY之类的敏感变量,提高反编译后的分析难度,同时避免直接push到远程仓库。
一、安装依赖
在项目根目录下的pubspec.yaml文件中添加envied库。
dependencies:
envied: ^1.1.1
然后运行下面的命令下载依赖。
flutter pub get
二、使用方式
1.准备相关文件
在项目根目录下新建一个名为 .env的文件。
然后在里面写入自己的敏感数据,书写格式:KEY=VALUE。比如:
DOUBAO_APIKEY=xxxxxxxxxxxx
然后再在lib目录下的任意位置新建一个dart文件,可以命名为env.dart,之后在文件中写入以下内容(这里依然拿上面的DOUBAO_APIKEY举例):
import 'package:envied/envied.dart';
part 'env.g.dart'; //一开始这里会报错,不用管,后面这个文件会自动生成
(path: '.env') //这里指定之前的.env文件
abstract class Env {
(varName: 'DOUBAO_APIKEY', obfuscate: true) //名称和.env文件中的保持一致,同时打开混淆
static final String doubaoApiKey = _Env.doubaoApiKey; //报错先不管
}
2.安装生成器
我们要利用envied_generator生成相关文件,并完成混淆,运行下面的命令安装:
dart pub add envied dev:envied_generator dev:build_runner
3.运行生成脚本
dart run build_runner build
运行成功后会有这样的提示
并且你能看到在env.dart旁边生成了一个env.g.dart文件,然后之前的报错就没有了。
4.使用密钥
当我们完成了密钥的混淆后,想在其他地方使用密钥的时候只需要这么写:
import '../utilis/env.dart'; //引入之前写的env.dart文件,这里的路径按照你自己的写
final apiKey = Env.doubaoApiKey;
三、非常重要!!!
一定别忘了写.gitignore,否则你就白干了,将.env文件和自动生成的env.g.dart文件添加进去。
*.env
env.g.dart
更多推荐


所有评论(0)