encrypt method
Encrypts the sensitive wallet data using the specified encoding format and returns the encrypted representation.
encoding
: The encoding format to use for the encrypted output (default is JSON).
Returns the encrypted wallet data as a string in the chosen encoding format.
Implementation
String encrypt({SecretWalletEncoding encoding = SecretWalletEncoding.json}) {
if (encoding == SecretWalletEncoding.cbor) {
return _crypto.encodeCbor(_password, data, uuid);
}
// Prepare the JSON representation of the encrypted data.
final Map<String, dynamic> toJson = {
"crypto": _crypto.encode(_password, data),
"id": uuid,
"version": 3
};
// Convert the JSON to a string.
final toString = StringUtils.fromJson(toJson);
// Based on the specified encoding format, return the encrypted data as a string.
if (encoding == SecretWalletEncoding.json) {
return toString;
}
return StringUtils.decode(StringUtils.encode(toString),
type: StringEncoding.base64);
}