哈希函数及其工作原理指南

数字数据泄露非常普遍,除非您是暴露在外的数百万LinkedIn用户之一或您的旧MySpace帐户遭到黑客入侵,否则它们不会引发太多警报。对于大多数没有意识到这些公司为将您的信息提供给网络小偷而做错了事情的人来说,所有这些违规行为都是密不可分的。发生这种情况的众多原因之一是因为您的信息不正确 散列.


哈希可以作为密码术中的名词或动词互换使用。散列是将密码更改为无法识别的无法识别的代码字符串的操作。这些也称为哈希。某些哈希可以比其他哈希更简单地破解,但是,大多数新手黑客仍无法做到这一点.

为什么哈希如此重要

散列算法

大多数黑客都希望使用数据来访问用户信息,并且这样做通常需要您的密码。这些犯罪分子发现和从您的个人资料中欺诈的内容不会以肉眼可读的形式存储,除非公司不保护其敏感数据.

您的密码通常在创建密码的那一刻转换为哈希,并且看起来像是随机的一组字符串。从数学上讲,这是您的密码,无法破解。在大多数情况下,解密哈希值需要花费数年的时间,届时您可能已经更改了密码或删除了帐户.

什么是哈希函数

哈希函数–这些函数或技术用于将密码和其他纯文本编码为不可读的文本,以进行存储和传输。根据纯文本的编码方式,有很多类型的哈希函数.

什么是哈希函数–这些函数或技术用于将密码和其他纯文本编码为不可读的文本,以进行存储和传输。根据纯文本的编码方式,有很多类型的哈希函数.

哈希是如何设计的

哈希是如何设计的

哈希设计为单向函数,这是一种数学运算,一开始执行起来很简单,但不能逆转。一旦您对原始数据进行哈希处理,它将变成完整的gobbledegook,这将使您的帐户免受黑客攻击.

哈希不能以任何方式解密。输入密码后,系统将执行哈希操作,并根据您首次设置密码时创建的哈希值检查结果。它无需将密码存储在系统中即可验证密码,这是黑客讨厌带有散列的网站的另一个原因.

强散列方法和弱散列方法之间的差异

从理论上讲,没有人能够破解散列字符串,甚至存储散列的公司也没有。没有人能够将存储的哈希密码转换回原始密码。但是,哈希方案已经存在了很多年,并且有些变得比其他方案更弱.

例如,在黑网上有1.77亿个LinkedIn帐户要出售的案例表明,哈希密码可以被破解。 LinkedIn当时仅使用了一个简单的哈希函数(称为SHAI),并且没有其他保护措施来防止数据被盗。这使黑客可以访问密码,也可以在其他网站上尝试这些密码。这可能是Mark Zuckerberg的Twitter和Pinterest帐户同时遭到黑客入侵的原因.

另一个散列出错的情况是Patreon数据泄露的故事。这次,该网站具有称为bcrypt的非常强大的哈希功能。此功能在黑客入侵所有缓存的数据之前,在破坏和更改密码之间提供了更多时间。.

那么SHAI和bcrypt有什么区别?使用SHAI,黑客无法撤消使用该特定功能创建的哈希密码。但是,他们可以猜测密码并通过相同的功能运行以发现密码以及密码的哈希方式.

当他们获得匹配的填充时,他们​​可以使用哈希破解程序来筛选更大的数据库,并猜测数百万个密码或更多密码。然后,他们可以使用该数据与一组哈希密码的结果进行比较,以查找更多匹配项,如果对每个站点使用相同的密码,则会产生多米诺骨牌效应。干得好,马克·扎克伯格!

有用的哈希函数的特征是什么

由于存在多种哈希函数,因此最好寻找具有这四个特征的哈希函数.

高效快捷

没有人愿意等待登录,因为他们的密码已被哈希处理。这意味着散列函数必须高效且快速。由于散列功能可能很麻烦,因此必须找到最快的散列功能。如果一台典型的计算机需要几分钟来处理散列函数并创建输出,那么这对于企业来说将是不切实际的。当今大多数计算机可以在五分之一秒内处理哈希.

总是给出相同的结果

哈希函数也必须是确定性的。对于提供的任何输入,哈希函数必须始终提供相同的结果。如果您一次插入相同的输入500万次,则散列函数也应产生相同的精确输出500万次.

如果哈希函数每次插入相同的输入都会产生不同的结果,则哈希将太随机且无用。也将无法验证提供的输入,这就是哈希密码的全部内容.

防图像前

任何哈希函数的结果都不应显示有关提供的输入的任何信息。这称为原像电阻。尽管加密散列函数可以接收任何类型的信息(无论是字母,单词,标点符号还是数字),但散列函数必须始终输出相同的定长结果。即使输入一整本字符本也是如此.

这是为了隐藏有关输入内容的任何提示。黑客必须不可能猜测最初提供的内容。因此,无法确定字符串是长还是短.

防碰撞

最后一个特征定义了找到两个产生相同结果的不同输入的可能性。这意味着可以进行任意数量的输入,但是输出仍然是固定长度。散列函数还必须产生很多输出,但是与输入相反,数量是有限的,输入可以是无限的.

简而言之,目标是绝对不可能找到创建相同输出的两个输入,并且可以在评估任何风险之前消除该输入的可能性.

为什么哈希是不可逆的

为什么哈希是不可逆的-哈希函数通常是单向的,因为在加密过程中会丢弃很多纯文本。匹配是通过将用户文本通过哈希函数并将其与加密文本进行比较来完成的.

什么是哈希冲突攻击

哈希冲突攻击–哈希冲突是指加密后具有相同输出的两个输入文本。这称为冲突,尝试查找此类字符串称为哈希冲突攻击。考虑到当前哈希键的复杂性,这种情况极不可能发生.

了解密码加盐

密码加密–加密是指在加密之前在密码上附加一个字符串。这使攻击者难以根据称为彩虹表的预先计算的密码表来识别密码.

什么是哈希胡椒

密码学家喜欢用另一种叫做“胡椒粉”的香料调味。除了将新值放在密码末尾之外,这与盐技术相似。有两种版本的胡椒。第一个是添加到每个值的已知隐藏值,但只有在黑客不知道的情况下它才有价值.

第二个是系统随机生成的值,但不会存储。这意味着用户每次尝试登录时,都必须尝试哈希算法和Pepper算法的多种组合,以找到与哈希匹配的正确值。这意味着登录时间可能很长,这就是为什么不使用它的原因.

密码存储如何与哈希函数一起使用

密码存储如何与哈希函数一起工作-这是指以加密方式存储用户密码,以确保在数据库受到破坏时,外部各方无法操纵用户的登录名.

Rainbow Table攻击如何发挥作用

彩虹表–这是使用许多已知的哈希函数进行编码时的密码及其输出的表格。此类表用于标识密码,而不必花费时间计算哈希函数.

哈希函数需要哪些工具

散列函数所需的工具–不同类型的散列函数可作为在线工具使用,在其中可以通过简单地将纯文本复制到给定的文本字段中来对纯文本进行加密。 MD5和SHA-256是一些更流行的哈希函数.

了解加密哈希函数的类

有几种不同类别的哈希函数可用。但是,当今很少使用其他常用方法,包括:

  •  BLAKE2
  •  安全哈希算法或SHA-2和SHA-3
  •  RACE完整性基元评估消息DIGEST或RIPEMD
  •  消息摘要算法5(MD5)

这些类中的每一个都涉及哈希函数,并结合了几种不同的算法。使用SHA-2,开发了一系列哈希函数,使其更难以破解。这包括SHA-224,SHA-256,SHA-384,SHA-512,SHA-512 / 224和SHA-512 / 256.

尽管每个对象在转换给定输入的方式上彼此不同,但它们在消化输入后所产生的固定长度也有所不同。例如,SHA-256在区块链技术中使用最多,它基于原始的比特币代码.

哈希如何处理

哈希如何处理

一言以蔽之。要进行详细说明,尽管该过程是完全自动化的,并且会在几秒钟内完成,但该过程要复杂一些。此过程也称为雪崩效应或蝴蝶效应.

基本上,数据块的大小从一种哈希算法到另一种哈希算法都不同。对于SHA-1之类的特定算法,仅包含512位的块中接受消息或密码。这意味着,如果密码只有512位长度,则哈希函数将只运行一次。如果消息是1024位,则将其分为512位的单独块。哈希函数也运行两次.

在大多数情况下,还使用称为填充的技术,这意味着将整个消息或密码划分为大小相等的数据块。然后,将哈希函数重复执行与块总数相同的次数。这些块被一个接一个地处理。在此过程中,第一个数据块的输出与下一个数据块一起作为输入.

然后将第二个的输出馈送到第三个块,依此类推。这使得最终输出与所有块的总和的数量相同。如果您在密码或消息中的任何地方进行更改,则整个哈希值也会更改,因此名称为“雪崩效应”.

包起来

如果您的密码经过适当的哈希处理和加密,那么唯一的获得密码的方法就是蛮力攻击。密码越长,加密越多,暴力攻击所需的时间就越长,这意味着黑客既费时又花钱.

这意味着您的用户应始终创建更长的密码,并配置诸如符号或大写字母之类的秘密字符。这也是为什么随机生成的密码字符串比字典单词更安全的原因,因为蛮力攻击利用字典来查找单词进行测试.

在注册任何在线业务时,您应始终检查一下他们如何处理密码。他们加密了吗?他们被散列了吗?您的信息将如何受到保护?大多数带有哈希的公司在其隐私权政策中都列出了此.

推荐工具

  • 最佳VPN
  • 最佳密码管理员
  • 家庭安全评论
Kim Martin Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map