Flutter 如何在flatter项目中存储AES私钥?
我不想显示任何人谁打开了AES加密类。 在project中,尤其是android平台中,我应该将此密钥存储在何处Flutter 如何在flatter项目中存储AES私钥?,flutter,dart,encryption,aes,Flutter,Dart,Encryption,Aes,我不想显示任何人谁打开了AES加密类。 在project中,尤其是android平台中,我应该将此密钥存储在何处 class AESEncryption { static final _key = Key.fromUtf8('My private key'); static final _iv = IV.fromLength(16); static String getEncryptedMessage(String plainText) { final encryp
class AESEncryption {
static final _key = Key.fromUtf8('My private key');
static final _iv = IV.fromLength(16);
static String getEncryptedMessage(String plainText) {
final encrypter = Encrypter(AES(_key));
final encrypted = encrypter.encrypt(plainText, iv: _iv);
return encrypted.base64;
}
static String getDecryptedMessage(String cipherText) {
final encrypter = Encrypter(AES(_key));
final decrypted = encrypter.decrypt(Encrypted.from64(cipherText), iv: _iv);
return decrypted;
}
}
您可以在这里做很多事情,但我所做的是创建一个
env.dart
文件,在该文件中,我放置了各种我想保持私有的环境变量。然后,我在项目的基本级别上添加了env.dart
,并将其添加到.gitignore中(如果不使用git,则添加等效项)。因此,在定义AES加密的文件中,我将导入env文件,如下所示:
///env.dart
最终aes_私钥=‘我的私钥’;
///包含AESEncyption类的其他文件
导入'env.dart'作为环境;
类加密{
静态final _key=key.fromUtf8(env.aes_private_key);
静态最终_iv=iv.长度(16);
...
}