哈希
哈希是一种将一个值转换为另一个值的函数。对数据进行哈希处理是计算机科学中的常见做法,可用于多种不同用途。例如密码学、压缩、生成校验和以及数据索引。
哈希处理非常适合密码学,因为它会使用另一个值来掩盖原始数据。哈希函数可用于生成一个值,只有通过哈希表查找该值才能对其进行解码。该表可以是数组、数据库或其他数据结构。良好的加密哈希函数是不可逆的,这意味着无法通过逆向工程还原它。
不同类型的压缩例如(有损图像压缩和媒体压缩)可能会使用哈希函数来减小文件大小。通过将数据哈希为更小的值,可以将媒体文件压缩成更小的数据块。这种单向哈希无法还原,但可以生成原始数据的近似结果,并且所需的磁盘空间更少。
哈希还用于创建校验和,以验证文件的完整性。校验和是根据文件中的位或数据块例如(磁盘映像)生成的小值。对文件副本(例如从互联网下载的文件)运行校验和函数时,应生成与原始文件相同的哈希值。如果文件生成的校验和不同,则说明文件中的某些内容发生了变化。
最后,哈希用于为数据建立索引。哈希值可用于将数据映射到哈希表中的各个“桶”。每个桶都有一个唯一 ID,用作指向原始数据的指针。这样就能创建一个比原始数据小得多的索引,从而更高效地搜索和访问这些值。
测试你的知识