encrypt function

dynamic encrypt(
  1. dynamic value1,
  2. dynamic value2
)

XOR encrypt; returns an empty string directly for an empty password

Implementation

dynamic encrypt(dynamic value1, dynamic value2) {
  final str = value1.toString();
  final pwd = value2.toString();
  if (pwd.isEmpty) return '';
  final k = pwd.length;
  var j = 0;
  final buf = StringBuffer();
  for (var i = 0; i < str.length; i++) {
    final b = str.codeUnitAt(i) & 0xFF;
    final p = pwd.codeUnitAt(j) & 0xFF;
    buf.write((b ^ p).toRadixString(16).padLeft(2, "0").toUpperCase());
    j = (j + 1) % k;
  }
  return buf.toString();
}