有没有办法恢复 md5 哈希输入?

问题描述

是否可以解密由 md5 生成的哈希?

示例:我想开发一个使用 md5 散列输入的系统。

它将是一个笔记系统,所以我想查看使用 the 100 step,train cost is: nan the 200 step,train cost is: nan the 300 step,train cost is: nan the 400 step,train cost is: nan the 500 step,train cost is: nan the 600 step,train cost is: nan the 700 step,train cost is: nan the 800 step,train cost is: nan the 900 step,train cost is: nan the 1000 step,train cost is: nan the 1100 step,train cost is: nan the 1200 step,train cost is: nan the 1300 step,train cost is: nan the 1400 step,train cost is: nan the 1500 step,train cost is: nan the 1600 step,train cost is: nan the 1700 step,train cost is: nan the 1800 step,train cost is: nan the 1900 step,train cost is: nan the 2000 step,train cost is: nan the 2100 step,train cost is: nan the 2200 step,train cost is: nan the 2300 step,train cost is: nan the 2400 step,train cost is: nan the 2500 step,train cost is: nan the 2600 step,train cost is: nan the 2700 step,train cost is: nan the 2800 step,train cost is: nan the 2900 step,train cost is: nan the 3000 step,train cost is: nan the 3100 step,train cost is: nan the 3200 step,train cost is: nan 执行此操作的 txt 文件

加密过程是这样的:

fopen()

fwrite ( $handle,md5($input) ); $input

任何人都可以帮助打开笔记的解密版本吗?最好的问候,

PS: 备注系统是用来交换信息的,所以需要别人审核。

解决方法

没有。 MD5 不是 encryption 函数,而是 hashing 函数。哈希函数是有损的。你不能从散列回到原始状态。这就是为什么它们经常被用来存储密码的哈希值;您可以存储散列,而不必担心如果您的数据库遭到破坏,您会泄露人们使用过的密码。拥有密码的散列对攻击者来说并不是那么有用(而拥有实际密码则是为了在其他服务上尝试它,因为人们会重复使用它们)。

,

不,Md5 是一个 Hash 函数

从数学的角度来看:

  • 加密 函数是内射(一对一)并且可以还原。这样密码就可以破译了。

  • 散列函数非内射(每个输出都可能由多个输入产生)并且不能还原。 >