Set 1-2 Fixed XOR
题目大意
将两个等长的缓冲区内容进行异或。
输入1:
1c0111001f010100061a024b53535009181c
输入2:
686974207468652062756c6c277320657965
输出:
746865206b696420646f6e277420706c6179
其中输入1、输入2以及输出3全都是字符串形式的十六进制。
分析
先使用decode('hex')
进行hex解码得到文本,再将两份文本对应位置上的值进行异或。如输入1解码后为\x1c\x01\x11\x00\x1f\x01\x01\x00\x06\x1a\x02KSSP\t\x18\x1c
,输入2解码后为hit the bull's eye
,此时需要将字符\x1c
的ASCII数值和字符h
的ASCII数值进行异或,依次类推,最后将各个位置异或后的值转换为字符连接起来,并进行hex编码即可。
实现
使用
ord()
将字符转换为ASCII数值。使用
chr()