encrypt method

List<int> encrypt(
  1. List<int> data
)

Implementation

List<int> encrypt(List<int> data) {
  data = DESPadding.pad(data, paddingType);
  if (mode == DESMode.CBC) {
    _desFirst!.iv = iv;
    _desSecond.iv = iv;
    _desThird!.iv = iv;
    int i = 0;
    List<int> result = [];
    while (i < data.length) {
      List<int> block = _desFirst!.encrypt(data.sublist(i, i + 8));
      block = _desSecond.decrypt(block);
      block = _desThird!.encrypt(block);
      _desFirst!.iv = block;
      _desSecond.iv = block;
      _desThird!.iv = block;
      result += block;
      i += 8;
    }
    return result;
  } else {
    data = _desFirst!.encrypt(data);
    data = _desSecond.decrypt(data);
    return _desThird!.encrypt(data);
  }
}