deserialize function
Implementation
CryptoEncodingParams deserialize(String encoded) {
final bytes = Uint8List.fromList(base64.decode(encoded));
final type = bytes.sublist(ZERO_INDEX, TYPE_LENGTH);
final slice1 = TYPE_LENGTH;
if (decodeTypeByte(type) == TYPE_1) {
final slice2 = slice1 + KEY_LENGTH;
final slice3 = slice2 + IV_LENGTH;
final senderPublicKey = bytes.sublist(slice1, slice2);
final iv = bytes.sublist(slice2, slice3);
final sealed = bytes.sublist(slice3);
return CryptoEncodingParams(
type: type,
sealed: sealed,
iv: iv,
senderPublicKey: senderPublicKey,
);
}
// default to type 0 envelope
final slice2 = slice1 + IV_LENGTH;
final iv = bytes.sublist(slice1, slice2);
final sealed = bytes.sublist(slice2);
return CryptoEncodingParams(
type: type,
sealed: sealed,
iv: iv,
);
}