cake_wallet/lib/entities/get_encryption_key.dart

22 lines
716 B
Dart
Raw Normal View History

import 'package:cake_wallet/core/secure_storage.dart';
import 'package:cw_core/cake_hive.dart';
2020-01-04 19:31:52 +00:00
Future<List<int>> getEncryptionKey(
{required String forKey, required SecureStorage secureStorage}) async {
2020-01-04 19:31:52 +00:00
final stringifiedKey =
await secureStorage.read(key: 'transactionDescriptionsBoxKey');
List<int> key;
if (stringifiedKey == null) {
key = CakeHive.generateSecureKey();
2020-01-04 19:31:52 +00:00
final keyStringified = key.join(',');
String storageKey = 'transactionDescriptionsBoxKey';
await secureStorage.delete(key: storageKey);
await secureStorage.write(key: storageKey, value: keyStringified);
2020-01-04 19:31:52 +00:00
} else {
key = stringifiedKey.split(',').map((i) => int.parse(i)).toList();
2020-01-04 19:31:52 +00:00
}
return key;
}