encrypt method

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

Encrypt data

Implementation

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

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

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

  return base64Encode(encrypted);
}