tvl-depot/users/wpcarro/scratch/cryptopals/set1/c2.py
William Carroll 4cf86f2e53 feat(wpcarro/scratch): Upload my solutions to cryptopals
More beginner problems/solutions for CTF-style challenges.

Change-Id: Ide229e99e3ccc1ede5a5ca1c2ad039498e49ea4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/4740
Reviewed-by: wpcarro <wpcarro@gmail.com>
Autosubmit: wpcarro <wpcarro@gmail.com>
Tested-by: BuildkiteCI
2021-12-29 19:34:02 +00:00

20 lines
541 B
Python

def fixed_xor(x, y, decode_hex=True, encode_hex=True):
if decode_hex:
x = bytearray.fromhex(x)
y = bytearray.fromhex(y)
result = bytearray(len(x))
for i in range(len(x)):
result[i] = x[i] ^ y[i]
return result.hex() if encode_hex else result
run_tests = False
if run_tests:
actual = fixed_xor("1c0111001f010100061a024b53535009181c", "686974207468652062756c6c277320657965")
expect = "746865206b696420646f6e277420706c6179"
print(actual)
assert actual == expect
print("Success!")