【问题标题】:Deciphering using XOR?使用 XOR 解密?
【发布时间】:2020-07-30 20:24:52
【问题描述】:

下面给出的是密文。

b'37151032694744553d12220a0f584315517477520e2b3c226b5b1e150f5549120e5540230202360f0d20220a376c0067'

这是用来加密的程序。

def enc(f):
    e = base64.b64encode(f)
    z = []
    i = 0
    while i < len(e):
        z += [ e[i] ^ e[((i + 1) % len(e))]]
        i = i + 1
    c = binascii.hexlify(bytearray(z))
    return c

return c 返回密文。我需要找到传递给 enc() 函数的内容。我怎么做。 我已经尝试了所有我能做到的方法。任何帮助将不胜感激。

【问题讨论】:

    标签: xor


    【解决方案1】:

    仅靠结果不足以找到两个操作数。

    38 十进制是 100110 二进制。

    你只能说操作数三位不同,其他位相等。

    例子:

    binary:                         decimal:
    0100110 ^ 0000000 == 0100110    38 ^ 0  == 38
    
    0000110 ^ 0100000 == 0100110     6 ^ 32 == 38
    
    0000010 ^ 0100100 == 0100110     2 ^ 36 == 38
    
    1100001 ^ 1000111 == 0100110    97 ^ 71 == 38
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-06
      • 2017-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-10
      相关资源
      最近更新 更多