Encryption md5加密和解密

Encryption md5加密和解密,encryption,md5,Encryption,Md5,我听说在使用MD5算法加密某些内容后,无法解密数据。但是对于任何加密,都应该有一种方法来解密数据,对吗?否则,什么是加密和解密的话需要 我错了吗?基本上,MD5不是一种加密方法。 这是一个函数,由于函数下的数据处理,您将丢失数据。因此,您将无法恢复旧数据。所以散列的全部意义在于它是单向的。MD5是http://en.wikipedia.org/wiki/Cryptographic_hash_function“>加密哈希函数,因此以下内容适用 有些人使用MD5散列保存用户密码。因此,即使他们的We

我听说在使用MD5算法加密某些内容后,无法解密数据。但是对于任何加密,都应该有一种方法来解密数据,对吗?否则,什么是加密和解密的话需要


我错了吗?

基本上,MD5不是一种加密方法。

这是一个函数,由于函数下的数据处理,您将丢失数据。因此,您将无法恢复旧数据。所以散列的全部意义在于它是单向的。MD5是http://en.wikipedia.org/wiki/Cryptographic_hash_function“>
加密哈希函数
,因此以下内容适用

有些人使用MD5散列保存用户密码。因此,即使他们的Web服务器也不知道您的密码到底是什么。他们只有一个密码令牌。这就是为什么在许多网站中,当您请求忘记密码请求时,他们会要求您通过提供唯一链接来更改密码,而不是检索旧密码ssword。(基本上,他们没有你的密码是人类可读的格式)


因此,你可能会有另一个疑问,如果有人知道你的散列密码令牌怎么办?答案很简单,但你仍然是安全的,因为登录身份验证检查将用户输入转换为散列函数,然后与DB进行检查。在这种情况下,将为你的散列值获取一个新的散列值。

MD5是一个散列函数

散列函数是可用于将任意大小的数字数据映射到固定大小的数字数据的任何函数,输入数据的细微差异会导致输出数据的巨大差异(源:)

这样,原始数据就不会被保留。那么为什么要使用哈希函数呢?它对于比较任意大小的数据集非常有用:因为哈希可以很短,并且大小固定,一旦计算出来,任何比较都是非常便宜和可预测的-O(1)-无论原始数据有多大

MD5也是一个加密散列函数。加密散列函数允许人们轻松地验证某些输入数据是否与存储的散列值匹配,但使仅从散列重构数据变得困难


因此,MD5的全部要点是,给定一个散列,返回原始数据应该是尽可能困难的。

以下是一些很好的阅读:

长话短说: MD5基本上将任何大小的字符串映射为64位十六进制数。
很多信息在这个过程中丢失了,无法让这些信息弹回来。

MD5不是加密,而是散列,这是不可逆的。MD5是散列。散列=绞肉机。牛进去,汉堡包出来。你不能拿着那个汉堡包重新创建原来的牛。加密=储物柜。数据进入,被锁定。坚持又一次,数据出来了。哎呀!我没想到这个问题会被否决。我只是征求了一些意见。“所以散列的全部意义在于它是单向的。”-仅适用于加密散列函数。有很多算法计算起来更便宜,但会泄露数据。@PauloScardine Yup,你是对的,忘了提到这一点。