参考文档:https://www.cnblogs.com/lsdb/p/10722665.html
import hashlib
import binascii
# 我这里交换机返回的id为4,注意是整型
id = 2
# 我这里密码是123456
password = "123456"
# 我这里交换机返回的md5盐值是"9ec74cf5cbaa27781b1c6203766430fe"
challenge = "706c6405eac78846b566012400208cf3"
# 将id转为一字节长度整型
id = id.to_bytes(1,"big")
# 将password进行编码
password = password.encode("ASCII")
# 将challenge改成bin十六进制
challenge = binascii.a2b_hex(challenge)
# 拼接
con_value = id + password + challenge
# 计算。R = MD5(id||P||C)
md5_value = hashlib.md5(con_value).hexdigest()
print(md5_value)
pass