有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
有人告诉我,他见过这样的软件系统:
从其他系统检索MD5加密密码; 解密加密的密码和 使用系统自己的算法将密码存储在系统的数据库中。
这可能吗?我认为解密MD5哈希是不可能/可行的。
我知道有MD5字典,但是有真正的解密算法吗?
当前回答
要做到这一点并不容易。这就是首先对密码进行哈希的意义。:)
你应该做的一件事是手动为他们设置一个临时密码,并将其发送给他们。
我不愿提及这一点,因为这是一个坏主意(而且也不能保证一定有效),但您可以尝试在彩虹表(如milw0rm)中查找散列,看看是否可以通过这种方式恢复旧密码。
其他回答
MD5是一个加密(单向)哈希函数,因此没有直接的方法来解码它。加密哈希函数的全部目的就是你不能撤销它。
您可以做的一件事是使用蛮力策略,即猜测哈希了什么,然后使用相同的函数哈希它,看看它是否匹配。除非散列数据非常容易猜测,否则可能需要很长时间。
不可能,至少在合理的时间内是不可能的。
通常的处理方式是密码“重置”。也就是说,你给他们一个新的(随机的)密码,并在电子邮件中发送给他们。
理论上,对哈希值进行解密是不可能的,但您可以使用一些肮脏的技术来获取原始的纯文本。
Bruteforcing: All computer security algorithm suffer bruteforcing. Based on this idea today's GPU employ the idea of parallel programming using which it can get back the plain text by massively bruteforcing it using any graphics processor. This tool hashcat does this job. Last time I checked the cuda version of it, I was able to bruteforce a 7 letter long character within six minutes. Internet search: Just copy and paste the hash on Google and see If you can find the corresponding plaintext there. This is not a solution when you are pentesting something but it is definitely worth a try. Some websites maintain the hash for almost all the words in the dictionary.
MD5哈希算法是不可逆的,所以MD5解码在不可能,但一些网站有批量设置密码匹配,所以你可以尝试在线解码MD5哈希。
在网上试试:
MD5解密
md5online
md5decrypter
理论上,你不能。哈希的意义在于它是单向的。这意味着如果有人设法获得哈希列表,他们仍然无法获得您的密码。此外,这意味着即使有人在多个网站上使用相同的密码(是的,我们都知道我们不应该这样做,但是……)任何访问站点A的数据库的人都不能在站点B上使用该用户的密码。
The fact that MD5 is a hash also means it loses information. For any given MD5 hash, if you allow passwords of arbitrary length there could be multiple passwords which produce the same hash. For a good hash it would be computationally infeasible to find them beyond a pretty trivial maximum length, but it means there's no guarantee that if you find a password which has the target hash, it's definitely the original password. It's astronomically unlikely that you'd see two ASCII-only, reasonable-length passwords that have the same MD5 hash, but it's not impossible.
MD5是一个不好的哈希密码:
它的速度很快,这意味着如果你有一个“目标”散列,尝试很多密码,看看你是否能找到一个散列到目标的密码是很便宜的。盐析对这种情况没有帮助,但它有助于增加寻找与使用不同盐析的多个哈希中的任何一个匹配的密码的代价。 我相信它有已知的缺陷,这使得它更容易发现冲突,尽管在可打印文本(而不是任意二进制数据)中发现冲突至少会更困难。
我不是安全专家,所以除了“不要使用自己的身份验证系统”之外,我不会给出具体的建议。从信誉良好的供应商那里找一个,然后使用它。安全系统的设计和实现都是一项棘手的工作。