getHiveSecretFromKeychain method
Implementation
Future<List<int>?> getHiveSecretFromKeychain(String atsign) async {
assert(atsign.isNotEmpty);
List<int>? secretAsUint8List;
try {
var hiveKey = atsign + '_hive_secret';
var hiveSecretString = await FlutterKeychain.get(key: hiveKey);
if (hiveSecretString == null) {
secretAsUint8List = _generatePersistenceSecret();
hiveSecretString = String.fromCharCodes(secretAsUint8List);
await FlutterKeychain.put(key: hiveKey, value: hiveSecretString);
} else {
secretAsUint8List = Uint8List.fromList(hiveSecretString.codeUnits);
}
} on Exception catch (exception) {
_logger.severe(
'exception in getHiveSecretFromKeychain : ${exception.toString()}');
}
return secretAsUint8List;
}