Efficient XOR masking
This package provides efficient implementations of routines for
applying
bitwise XOR masks to binary data.
The currently supported operations (see
Data.XOR API
documentation for more details) are applying
- 8-bit wide XOR masks or
- 32-bit wide XOR masks
to binary data represented by
- Strict ByteStrings,
- Lazy ByteStrings,
- ShortByteStrings (i.e. ByteArray#s), or
- CStringLen (i.e. Ptrs).
The performance is comparable to portable ISO C99 implementations but
this library is implemented as pure Haskell and is thereby compatible
with compile targets such as
GHCJS.