如何在网络上提供这些反向哈希

  • 本文关键字:哈希 网络 security hash
  • 更新时间 :
  • 英文 :


如果这些哈希算法是单向函数,那么如何在网络上提供这些反向哈希?这些查找站点使用的反向哈希过程是什么?

当我们说哈希函数h是单向函数时,我们的意思是

  • 给定一些固定字符串w,它是"容易";计算h(w(,但是
  • 给定某个随机选择的字符串x的f(x(;硬";以找到字符串w,其中f(w(=f(x(

因此,从这个意义上说,如果你有一个你一无所知的字符串的哈希,那么就没有简单的方法来反转这个哈希。

然而,这并不意味着,一旦你把某件事搞砸了,它就永远无法逆转。例如,假设我知道您正在散列字符串YES或字符串NO。然后,我可以预先计算h(YES(和h(NO(,记下这些值,然后将您的哈希字符串与两个哈希值进行比较,以确定您对哪个字符串进行了哈希处理。同样,如果我知道你在散列一个0到999999999之间的数字,我可以散列所有这些值,存储结果,然后将你的数字散列与我预先计算的散列进行比较,看看你散列了哪一个。

为了直接回答你的问题,提供反向哈希表的网站并不是通过反向哈希函数来计算这些表,而是通过对大量字符串进行哈希并记下结果。他们可能会对人们期望使用的字符串进行散列(例如,最常见的弱网络密码(,也可能会选择随机的短字符串来覆盖所有可能的简单字符串(按照上面的数字散列示例(。

由于加密哈希函数(如SHA1、SHA2、SHA2和Blake2等(是单向函数的候选者,因此无法反转哈希。

那么他们是如何做到这一点的呢;他们可以选择三种方式;

  1. 通过生成已知字符串的哈希来构建一个对数据库(x, hash(x));破解的密码列表、英语词典、所有语言的维基百科文本,以及所有字符串,其中一些字符串绑定为8;

    这种方法有一个巨大的问题,即存储所有输入对及其哈希的空间。

  2. 构建 彩虹表。彩虹桌是一种时间与记忆的交易。在开始构建之前,选择表参数以覆盖目标搜索空间。

    有关密码破解的详细信息,请参阅彩虹破解。

  3. 将两者合并由于目标搜索空间的原因,并非所有已知的字符串、密码等都可以放在Rainbow表中。对于这些,请使用1。选项

别忘了,他们中的一些人还提供在线哈希工具。一旦你要求对一个值进行散列,它就会进入他们的数据库/彩虹表,当你稍后访问网站并询问你存储的散列的预图像时,他们现在竟然有了,真是令人惊讶!如果文本是敏感的,不要使用在线哈希服务。

没有反向哈希过程。你只需猜测一个密码并对其进行散列。你可以将这些猜测和散列建立大型数据库,用于反向查找,但这并不是颠倒散列本身。搜索";彩虹桌";了解更多详细信息。

那些网站没有预处理任何类型的反向哈希。有一些表被称为">彩虹表";。这些彩虹表是预计算的表,用于缓存加密哈希函数的输出。他们得到了很多字符串,并为它们计算了哈希值,当有人搜索哈希值时,他们会从表中查找相应的值,并显示。

相关内容

  • 没有找到相关文章

最新更新