【发布时间】:2014-03-24 05:38:54
【问题描述】:
我总是在解密 RC4 加密对象时失败。我的密钥必须是这个十六进制字符串的 MD5-Hash:
00 00 00 01 3e 2a 5b 71 00 00 03 a0
我尝试将该十六进制字符串转换为 ascii,然后计算它的 MD5 哈希,但似乎我的密钥总是错误的。我认为有一个问题,因为一些十六进制值是控制字符,但是计算这个十六进制字符串的 MD5 的正确方法是什么?我想到的是这样的:
from Crypto.Cipher import ARC4
from Crypto.Hash import MD5
def hexToAscii(hex_string):
return ''.join([chr(int(''.join(c), 16)) for c in zip(hex_string[0::2],hex_string[1::2])])
def main():
hex_string = '000000013e2a5b71000003a0'
# Key for Decryption
myKey = MD5.new(hexToAscii(hex_string)).hexdigest()
print 'hexToAscii(hex_string): %s' % hexToAscii(hex_string)
#open('myfile','wb').write(ARC4.new(hexToAscii(myKey)).decrypt(hexToAscii(CIPHER_TEXT)))
if __name__ == '__main__':
main()
【问题讨论】:
标签: python encryption hash md5