我听说在使用MD5算法加密某些内容后,无法解密数据。但对于任何加密,应该有一种方法来解密数据,对吗?否则,加密和解密这个词有什么需要?
我错了吗?
答案 0 :(得分:1)
基本上,MD5不是加密方法。
这是一个Hash function
,由于该功能下的数据处理,您将丢失数据。所以你不会得到旧的数据。所以哈希的重点在于它只是一种方式。 MD5是http://en.wikipedia.org/wiki/Cryptographic_hash_function">cryptographic hash function
所以适用以下内容。
有些人使用MD5哈希保存用户密码。因此,即使他们的网络服务器也不知道您的密码究竟是什么。他们只有密码令牌。这就是为什么在许多网站中,当您请求忘记密码请求时,他们会要求您通过提供唯一链接而不是检索旧密码来更改密码。 (基本上,他们没有人类可读格式的密码)
如果有人知道您的哈希密码令牌,那么您可能会遇到的另一个疑问是什么?答案很简单,仍然是安全的,因为登录身份验证检查将用户输入转换为哈希函数,然后检查数据库。在这种情况下,将为您的散列值获取新的哈希值。
答案 1 :(得分:0)
MD5是一个哈希函数。
哈希函数是可用于将任意大小的数字数据映射到固定大小的数字数据的任何函数,输入数据的细微差别会在输出数据中产生很大的差异(来源:wikipedia)。
这样,原始数据不会被保留。那你为什么要使用Hash函数呢?它对于比较任意大小的数据集很有用:因为哈希可以很短并且具有固定的大小,一旦计算出任何比较非常便宜且可预测 - O(1) - 无论原始数据有多大。
MD5也是一种加密哈希函数。加密哈希函数允许人们轻松验证某些输入数据是否与存储的哈希值匹配,但是很难仅从哈希值重建数据。
所以MD5的重点在于给定一个哈希值,回收原始数据应该尽可能的努力。
答案 2 :(得分:0)
这是一个很好的阅读:
https://en.wikipedia.org/wiki/MD5
长篇短语: MD5基本上将任何大小的任何字符串映射到64位十六进制数。 在此过程中会丢失 lot 信息,并且无法弹回此信息。