首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >md5加解密

md5加解密
EN

Stack Overflow用户
提问于 2014-12-12 17:33:24
回答 3查看 1.5K关注 0票数 1

我听说在使用MD5算法加密一些东西之后,不可能对数据进行解密。但是对于任何加密,应该有一种解密数据的方法,对吗?否则,单词加解密的需要是什么?

我说错了吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-12 17:35:03

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

它是一个Hash function,在这里,由于函数下的数据处理,您将丢失数据。所以你不会把旧的数据拿回来。所以,散列的全部意思是,它只是一种方式。MD5是`cryptographic">function">`cryptographic哈希函数,因此以下内容是适用的。

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

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

票数 2
EN

Stack Overflow用户

发布于 2014-12-12 17:36:15

MD5是一个散列函数。

散列函数是用于将任意大小的数字数据映射到固定大小的数字数据的任何函数,而输入数据的细微差异导致输出数据有很大的差异(源:维基百科)。

这样,原始数据就不会被保存。那么你为什么要使用哈希函数呢?它对于比较任意大小的数据集很有用:由于散列可以很短,并且具有固定的大小,所以一旦计算出任何比较都是非常廉价和可预测的--不管原始数据有多大-- O(1)。

MD5也是一个加密哈希函数。加密哈希函数允许很容易地验证某些输入数据是否与存储的哈希值相匹配,但是很难仅从哈希值中重构数据。

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

票数 0
EN

Stack Overflow用户

发布于 2014-12-12 17:37:17

以下是一些很好的阅读:

https://en.wikipedia.org/wiki/MD5

长篇演讲短片: MD5基本上将任意大小的字符串映射为64位十六进制数。在这个过程中,大量的信息丢失了,没有办法让这些信息弹回来。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27449029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档