STDMETHODIMP_(UInt32) CDecoder::Filter(Byte *data, UInt32 size) { for (UInt32 i = 0; i < size; i++) { Byte c = (Byte)(data[i] ^ DecryptByteSpec()); UpdateKeys(c); data[i] = c; } return size; }
STDMETHODIMP_(UInt32) CEncoder::Filter(Byte *data, UInt32 size) { for (UInt32 i = 0; i < size; i++) { Byte b = data[i]; data[i] = (Byte)(b ^ DecryptByteSpec());; UpdateKeys(b); } return size; }
Byte CCipher::EncryptByte(Byte b) { Byte c = (Byte)(b ^ DecryptByteSpec()); UpdateKeys(b); return c; }
Byte CCipher::DecryptByte(Byte encryptedByte) { Byte c = (Byte)(encryptedByte ^ DecryptByteSpec()); UpdateKeys(c); return c; }