xor_dart 1.0.2 copy "xor_dart: ^1.0.2" to clipboard
xor_dart: ^1.0.2 copied to clipboard

Simple XOR symmetric encryption/decryption cipher with or without a secret key

example/main.dart

import 'dart:io';
import 'package:xor_dart/xor_dart.dart';

void _main() {
  /// with secret key
  var xor = Xor('_a_random_key_');
  var plain = 'You are so handsome!';
  var encode = xor.encode(plain);
  var decode = xor.decode(encode);

  print('>>> plain: $plain, encode: $encode, decode: $decode');
  print('>>> decryption result is correct: ${plain == decode}');

  /// without secret key
  var content = '1234567890';
  var encrypted = CipherXor.encryptToBase64(content);
  var decrypted = CipherXor.decryptFromBase64(encrypted);
  print('content: $content, encrypted: $encrypted, decrypted: $decrypted');
  print('>>> decryption result is correct:: ${content == decrypted}');
}

// i.e:
// dart ~/xor.dart/example/main.dart -en nohup.zip nohup.zip.en
// dart ~/xor.dart/example/main.dart -de nohup.zip.en nohup.out.zip
void main(List<String> args) {
  print('args: $args');
  var action = args.first.toLowerCase();
  var src = args[1];
  var dst = args[2];

  /// XOR encrypt a file
  if (action.contains('-en')) {
    File(dst).writeAsBytesSync(CipherXor.encrypt(File(src).readAsBytesSync()));
  }

  /// XOR decrypt a file
  if (action.contains('-de')) {
    File(dst).writeAsBytesSync(CipherXor.decrypt(File(src).readAsBytesSync()));
  }
}
8
likes
160
points
175
downloads

Publisher

unverified uploader

Weekly Downloads

Simple XOR symmetric encryption/decryption cipher with or without a secret key

Repository (GitHub)

Documentation

API reference

License

MIT (license)

More

Packages that depend on xor_dart