
def xor(text,key):
    try:
        checkHex(text,'Input')
        checkHex(key,'Key')
        print(f"Text is {text}")
        text = bytes.fromhex(text)
        key = bytes.fromhex(key)
        ct=[]
        for n,i in enumerate(text):
            ct.append(i^key[n%len(key)])
        return bytes(ct).hex()
    except ValueError as e:
        return str(e)


def checkHex(text,cheking):
    if len(text)%2 != 0:
        raise ValueError(f"{cheking}: Invalid hex length")
    hexdigits = '0123456789abcdefABCDEF'
    for i in text:
        if i not in hexdigits:
            raise ValueError(f"{cheking}: Invalid hex")
    return True
