In-place XOR self with key

Property definitions

crypto :: xor_ciphers $ CString :: xor
	# 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