decrypt method

  1. @override
Future<String> decrypt(
  1. String data, {
  2. String? key,
})
override

Decrypt data

Implementation

@override
Future<String> decrypt(String data, {String? key}) async {
  if (key == null || key.isEmpty) {
    throw ArgumentError('Decryption key is required');
  }

  final encrypted = base64Decode(data);
  final keyBytes = utf8.encode(key);
  final decrypted = <int>[];

  for (var i = 0; i < encrypted.length; i++) {
    decrypted.add(encrypted[i] ^ keyBytes[i % keyBytes.length]);
  }

  return utf8.decode(decrypted);
}