如果我想将文件从一台计算机传输到另一台计算机,如何确保复制的文件与源文件相同?您可以使用的一种方法称为散列。但是什么是哈希?为什么无法解密散列?
什么是散列?
散列是一种从文件中计算固定大小的位字符串值的算法。文件基本上包含数据块。散列将这些数据转换为更短的固定长度值或表示原始字符串的键。哈希值可以被认为是该文件中所有内容的提炼摘要。
一个好的哈希算法将表现出一种称为雪崩效应的特性,即使文件中的单个位或字节数据变化,由此产生的哈希输出会发生巨大或完全的变化。不这样做的哈希函数被认为随机性差,很容易被黑客破解。
哈希是如何工作的?
哈希是一种单向加密函数,因为散列是不可逆的。哈希的输出不允许您重新创建文件的内容。但是,它允许您在不知道它们的内容的情况下知道两个文件是否相似。
散列将一段数据转换为二进制代码,本质上是一堆 0 和 1。完成后,它将数字分成几部分并应用秘密哈希,也称为计算函数。最终结果通常是一个 64 位的数字和字母字符串。这个 64 位字符串然后以多种不同的方式使用。
64 位字符串几乎不可能破解。因为转换是通过算法完成的,所以它使用的公式是未知的。试图破解这一点就像试图在万花筒中导航。但是,对于读取散列函数并检查其来自正确位置的软件来说,这几乎是瞬间完成的。
为什么无法解密散列?
哈希无法解密,因为它们没有加密。
虽然哈希函数的输出通常看起来与加密函数的输出相似,但哈希实际上是一种极其有损的数据压缩形式。
有有限个哈希值和无限个可哈希明文值。因此,反转给定的 MD5 哈希将导致无限数量的可能明文值。
所以我希望现在您知道什么是哈希以及为什么无法解密哈希。哈希是计算机安全中的一种工具,它可以告诉您两个文件何时相同且安全以避免冲突。
有时文件可能看起来具有相同的功能和行为,但具有不同的哈希。因此,依靠哈希进行检测是确保您的数据不被泄露的好方法。
















