getHiveSecretFromKeychain method

Future<List<int>?> getHiveSecretFromKeychain(
  1. String atsign
)

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;
}