hash and xor