init method

  1. @override
void init(
  1. bool forEncryption,
  2. CipherParameters params
)
override

Initialise the cipher for processing.

Implementation

@override
void init(bool forEncryption, CipherParameters params) {
  if (params is! KeyParameter) {
    throw ArgumentError('DESede requer KeyParameter.');
  }
  final key = params.key;
  if (key.length != 16 && key.length != 24) {
    throw ArgumentError('Chave DESede deve ter 16 ou 24 bytes.');
  }
  _forEncryption = forEncryption;
  final k1 = key.sublist(0, 8);
  final k2 = key.sublist(8, 16);
  final k3 = key.length == 24 ? key.sublist(16, 24) : k1;

  _k1 = DESEngine.generateWorkingKey(true, k1);
  _k2 = DESEngine.generateWorkingKey(false, k2);
  _k3 = DESEngine.generateWorkingKey(true, k3);
}