计算机程序设计

哈希函数是:它是什么,为什么会发生什么

通常情况下,在描述下载种子或文件时,直接自己有类似«ad33e486d0578a892b8vbd8b19e28754»(例如,在ex.ua),经常用一记«MD5»。 该散列代码 - 即处理输入数据之后输出的散列函数的结果。 在英语中,哈希表示困惑,大麻,杂草,或肉末和蔬菜的菜。 解密哈希是非常困难的,我们可以说,这几乎是不可能的。 接下来的问题是:“为什么我们需要所有这些 散列函数,如果 他们给一个难以理解的乱码,这也不能破译?”。 这将在本文中进行讨论。

什么是哈希函数,它是如何工作的?

该功能被设计为将进入的数据任意大的量转换为固定长度的结果。 这样的变换的非常过程称为散列,并且将结果 - 散列或散列码。 有时甚至用的是“指纹”或“消息摘要”,但在实践中是非常罕见的。 有如何在一定长度的码元的某一序列变换任何数据集的许多不同的算法。 最广泛使用的算法称为MD5,这是早在1991年开发的。 尽管到目前为止,MD5是有点过时,不推荐使用,但它仍然还在身边,而不是经常上的网站“散列码”简单地写MD5,并注明代码本身。

为什么我们需要一个散列函数?

知道了结果,实际上是不可能来确定原始数据,但同样的输入数据给出相同的结果。 因此,散列函数(也称为卷积函数)经常被用来存储非常敏感信息,如密码,用户名,身份证号等个人信息。 相反,比较由用户输入的信息,与存储在数据库中,有哈希值进行比较。 这确保了信息的意外泄露的情况下,没有人可以采取的达到自己的目的的重要数据的优势。 通过比较哈希码也方便检查从互联网上下载文件的正确性,尤其是如果下载过程中发生通信中断。

哈希:它们是什么牛逼

根据您的目的地哈希函数可以是三种类型中的一种:

1.函数来检查信息的完整性

当一个 数据传输 网络,则该散列的分组的计算,该结果也与文件一起发送。 当接收到重新计算的散列码和与由网络获得的值进行比较。 如果代码不匹配,则表明一个错误,损坏的包将被再次转移。 在这样的计算功能快的速度,但少量的散列值和稳定性差的。 CRC32,它只有232不同的值:这种类型的一个例子。

2.加密功能

这种类型 是用来防止 未经授权的访问 (ND)。 它们允许你进行检查,看是否有数据损坏的文件在网络传输过程中的LP的结果。 真散列是公开可用的,在这种情况下,如所接收的文件的散列可以使用多个不同的程序来计算。 这样的特征长寿命和稳定的操作,以及(来自不同的源的数据可能的匹配结果)寻找碰撞是非常复杂的。 这样的功能被用于存储在密码数据库(SH1,SH2,MD5)和其他有价值的信息。

3.功能被设计为创建一个有效的数据结构

它的目的是比较的特殊结构,这就是所谓的哈希表的信息,紧凑而有序的组织。 此表允许您以非常高的速度增加新的信息,删除信息,并搜索所需的数据。

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 zhcn.delachieve.com. Theme powered by WordPress.