self
with key
# In-place XOR `self` with `key`
fun xor(key: CString, len: Int, key_length: Int, key_offset: nullable Int) do
if key_offset == null then key_offset = 0
var key_pos = key_offset % key_length
for i in [0 .. len[ do
self[i] = key[key_pos] ^ self[i]
key_pos += 1
if key_pos >= key_length then key_pos = 0
end
end
lib/crypto/xor_ciphers.nit:36,2--47,4