deserialize method

  1. @override
EncodingParams deserialize(
  1. String encoded
)
override

Implementation

@override
EncodingParams deserialize(String encoded) {
  final Uint8List bytes = base64Decode(encoded);
  final int type = bytes[0];

  int index = TYPE_LENGTH;
  Uint8List? senderPublicKey;
  if (type == TYPE_1) {
    senderPublicKey = bytes.sublist(
      index,
      index + KEY_LENGTH,
    );
    index += KEY_LENGTH;
  }
  Uint8List iv = bytes.sublist(index, index + IV_LENGTH);
  Uint8List ivSealed = bytes.sublist(index);
  index += IV_LENGTH;
  Uint8List sealed = bytes.sublist(index);

  return EncodingParams(
    type,
    sealed,
    iv,
    ivSealed,
    senderPublicKey: senderPublicKey,
  );
}