在Python3中,将字节转换为十六进制字符串的正确方法是什么?

2024-09-28 03:21:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在进行CryptoPals挑战赛,我被困在挑战2第1集。我很熟悉按位异或,但我无法在十六进制字符串中获得所需的结果。这是我现在的职责:

def strxor(s1, s2):
    bytes1 = unhexlify(s1)
    bytes2 = unhexlify(s2)
    b = b""
    for c1, c2 in zip(bytes1, bytes2):
        b += bytes([c1^c2])
    return hexlify(b)

它当前返回所需的十六进制字符串,但作为bytes对象而不是字符串。如何转换这些?或者有更好的方法来处理这个问题吗?在


Tags: 字符串forbytesdef挑战赛c2s2c1

热门问题