2009-10-13 232 views
4

可能重复:
Is it possible to decrypt md5 hashes?解密MD5哈希

有什么办法来解密加密的字符串MD5,给出的关键?

+8

用什么加密? MD5是散列,而不是加密。 – SilentGhost 2009-10-13 18:25:59

+0

MD5哈希是一种单向函数。 – 2009-10-13 18:46:01

+2

虽然这个问题的前提是有缺陷的(散列是“单向旅行”,即它不是双射函数,也不涉及密钥,只包含输入消息),但回答不仅仅是指出“这不是什么散列”,并探索找到满足一个特定散列值的消息的方法,以及使用'salt'防止“字典/蛮力”攻击的方法。有趣! – mjv 2009-10-13 18:59:49

回答

2

MD5是一个非对称散列 - 不是一种加密机制。你不能“解密”MD5。如果您知道哈希内容仅限于(短)一组可能性,您可以使用Rainbow Table尝试强制颠倒哈希,但在一般情况下这不起作用。

21

MD5one-way hash。它不能被解密。解密MD5哈希最接近的方法是对预先生成的rainbow table进行查找。另外,我不确定你的意思是“我有钥匙”。 MD5散列中没有“键”。也许你在想盐?如果您的数据在散列之前包含salt值,那么彩虹表方法可能无法实用。

4

MD5不是一种加密算法,它是一种哈希算法。请阅读MD5Crytographic Hash Functions

在Python中创建一个字符串的MD5 hash你做如下:

import hashlib 
m = hashlib.md5() 
m.update("String to Hash") 
echo m.digest() 
# '\xed\xa5\x8bA-nU\xa2\xee\xbb[_s\x130\xbd' 
echo m.hexdigest() # its more common to show hashes as a hex string 
# 'eda58b412d6e55a2eebb5b5f731330bd' 
4

消息摘要算法5是一个广泛使用的具有128位散列值的加密散列函数。加密有两种方式:加密 - 解码,散列有一种方法 - 没有解密可能。 但数据库散列是可能的来解决这个问题。

看到这个网站:

www.rednoize.com - 50709274哈希数据库

www.md5oogle.com - 6353625哈希数据库

www.hashmash.com - 1611191哈希数据库

www.gdataonline.com 1155613数据库哈希

www.md5decryption.com - 872145哈希数据库

www.md5decrypter.com - 583441数据库哈希

www.md5decrypter.co.uk - 41568541哈希数据库

www.macrosoftware.ro - 5,403哈希数据库