36.12哈希函数

通常需要查找两个字符串或文件是否相同。这可以通过按个比较它们并寻找差异来实现。然而,这可能很慢,因此比较字符串或文件的哈希可以快速找到文件是否不同。

散列函数的另一个用途是检查文件的完整性。用户可以根据已知值检查文件的哈希,并查找他们拥有的文件是否与原始哈希生成的文件相同。

Octave提供hash函数来计算字符串和文件的哈希值,后者与fileread作用这里的hash函数支持许多常用的哈希方法。

 
: hashval = hash ("hashfcn", str)

计算字符串的哈希值str使用散列函数hashfcn.

下表中给出了可用的哈希函数。

MD2

消息摘要算法2(RFC 1319)。

MD4

消息摘要算法4(RFC 1320)。

广告
MD5

消息摘要算法5(RFC 1321)。

广告
SHA1

安全哈希算法1(RFC 3174)

广告
SHA224

安全哈希算法2(224位,RFC 3874)

广告
SHA256

安全哈希算法2(256位,RFC 6234)

广告
SHA384

安全哈希算法2(384位,RFC 6234)

广告
SHA512

安全哈希算法2(512位,RFC 6234)

广告

例如,计算字符串的MD5哈希值"abc"这里的hash函数的调用方式如下:

hash ("md5", "abc")
     -| ans = 900150983cd24fb0d6963f7d28e17f72

对于同一字符串,SHA-1哈希值的计算方法如下:

hash ("sha1", "abc")
     -| ans = a9993e364706816aba3e25717850c26c9cd0d89d

并且为了计算文件的散列值。,file = "file.txt"呼叫hash与结合fileread:

hash ("md5", fileread (file));
广告

版权所有 © 2024-2025 Octave中文网

ICP备案/许可证号:黑ICP备2024030411号-2