【问题标题】:Python hash md5 not runningPython 哈希 md5 未运行
【发布时间】:2018-09-23 20:24:50
【问题描述】:

我想创建一个哈希 md5 代码以在 xml 通信中进行身份验证。服务器向我发送一个令牌,使用这个令牌和一个激活码,我需要生成一个哈希,但它没有按我预期的那样运行:

md5 = hashlib.md5()

md5.update(bytearray('00000160471720180327121801781264'))

codigo =[57,51,50,57,52,52]

cod = bytearray(codigo)

md5.update(cod)

print md5.hexdigest()

结果应该是24dd32f9f349801e0d6996693dff7a8c 但我没有得到那个结果...为什么???

【问题讨论】:

  • MD5 已经过时了,请不要将它用于任何新代码,请将任何旧代码切换到更新的代码,例如 sha256。
  • 你从你的代码中得到了什么结果?
  • 此代码无法运行,因为bytearray('00000160471720180327121801781264') throws a TypeError: string argument without an encoding`。这个输入使用什么编码?
  • 为什么你认为你应该得到24dd32f9f349801e0d6996693dff7a8c

标签: python authentication hash md5


【解决方案1】:

你正在做 00000160471720180327121801781264932944 的 md5 哈希,即 d6f08df4ca20ae594e07d2a6dae8f978

md5.update(bytearray('00000160471720180327121801781264'.encode("UTF8")))
codigo = [57, 51, 50, 57, 52, 52]
cod = bytearray(codigo)
md5.update(cod)

等于做:

md5.update(bytearray('00000160471720180327121801781264932944'.encode("UTF8")))

【讨论】:

    猜你喜欢
    • 2019-04-24
    • 2020-03-09
    • 1970-01-01
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 2020-12-08
    • 1970-01-01
    相关资源
    最近更新 更多