from typing import Iterable
import itertools


def xor_cipher(string: Iterable[str], key: Iterable[str]) -> str:
    """XOR шифр

    :param string: Шифруемый/расшифровываемый текст
    :type string: Iterable[str]
    :param key: Ключ
    :type key: Iterable[str]
    :return: Текст после шифровки/дешифровки
    :rtype: str
    """
    key = itertools.cycle(key)
    result = []

    for string_char, key_char in zip(string, key):
        char = chr(ord(string_char) ^ ord(key_char))
        result.append(char)

    return "".join(result)