CakeWallet/lib/entities/get_encryption_key.dart

23 lines
675 B
Dart
Raw Normal View History

2020-01-04 21:31:52 +02:00
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:hive/hive.dart';
2020-01-04 21:31:52 +02:00
Future<List<int>> getEncryptionKey(
2022-10-12 13:09:57 -04:00
{required String forKey, required FlutterSecureStorage secureStorage}) async {
final stringifiedKey =
await secureStorage.read(key: 'transactionDescriptionsBoxKey');
2020-01-04 21:31:52 +02:00
List<int> key;
if (stringifiedKey == null) {
key = Hive.generateSecureKey();
2020-01-04 21:31:52 +02:00
final keyStringified = key.join(',');
await secureStorage.write(
key: 'transactionDescriptionsBoxKey', value: keyStringified);
2020-01-04 21:31:52 +02:00
} else {
key = stringifiedKey
.split(',')
.map((i) => int.parse(i))
.toList();
2020-01-04 21:31:52 +02:00
}
return key;
}