Pythonで2つの文字列をXORする方法について説明します。この操作は、暗号化やデータ処理など、さまざまな場面で使用されます。
まず、2つの文字列をXORするとは、一方の文字列の各文字のord()
値を、他方の文字列の同じ位置の文字のord()
値とXORすることを意味します。
以下に、Pythonで2つの文字列をXORするための関数を示します。
def xor_two_str(a, b):
xored = []
for i in range(max(len(a), len(b))):
xored_value = ord(a[i%len(a)]) ^ ord(b[i%len(b)])
xored.append(hex(xored_value)[2:])
return ''.join(xored)
この関数は、2つの入力文字列を受け取り、それらをXORした結果を16進数の文字列として返します。
例えば、次のように使用できます。
print(xor_two_str("12ef", "abcd")) # 出力: "bf42"
この例では、文字列 “12ef” と “abcd” がXORされ、結果として “bf42” が得られます。
以上がPythonで2つの文字列をXORする方法です。この情報がPythonのプログラミングに役立つことを願っています。