FileHash
FileHash[file]
给出指定文件内容的整数哈希码.
FileHash[file,"type"]
给出指定类型的整数哈希码.
FileHash[file,"type","format"]
以指定格式给出哈希码.
FileHash[{file,range},…]
给出指定范围内字节的哈希码.
FileHash[{filespec1,filespec2,…},…]
给出一系列文件的哈希码.
更多信息
- FileHash 生成的值是基于文件中的原始字节.
- 可用 "file", File["file"]、CloudObject["url"] 或 InputStream[…] 指定文件. 必须用 BinaryFormatTrue 打开输入流.
- FileHash 支持以下 range 指定:
-
n 前 n 个字节 -n 最后 n 个字节 {n} 第 n 个字节 {m,n} 第 m 到第 n 个字节 0 没有字节 All 所有字节 - FileHash[{stream,range},…] 提取输入流中指定字节位置范围内的数据,忽略先前的流位置.
- 每个 filespec 可以是 file 或 {file,range}.
- 可能的哈希码类型包括:
-
"Adler32" 阿德勒 (Adler) 32 位循环冗余校验 "CRC32" 32 位循环冗余校验k "MD2" 128 位 MD2 码 "MD4" 128 位 MD4 码 "MD5" 128 位 MD5 码(默认) "RIPEMD160" 160 位 RIPEMD 码 "RIPEMD160SHA256" RIPEMD-160 后跟 SHA-256(在比特币中使用) "SHA" 160 位 SHA-1 码 "SHA256" 256 位 SHA 码 "SHA256SHA256" 双 SHA-256 编码(在比特币中使用) "SHA384" 384 位 SHA 码 "SHA512" 512 位 SHA 码 "SHA3-224" 224 位 SHA3 码 "SHA3-256" 256 位 SHA3 码 "SHA3-384" 384 位 SHA3 码 "SHA3-512" 512 位 SHA3 码 "Keccak224" 224 位 Keccak 码 "Keccak256" 256 位 Keccak 码 "Keccak384" 384 位 Keccak 码 "Keccak512" 512 位 Keccak 码 - FileHash 默认使用 128 位 MD5 码.
- 可能的格式包括:
-
"Integer" 整数(默认) "DecimalString" 十进制字符串 "HexString" 十六进制字符串 "Base36String" base-36 字母数字字符串 "Base64Encoding" Base64 编码 "ByteArray" 以显式的字节数组形式给出的哈希码 - 为了与 Wolfram 语言的早期版本兼容,还支持语法 FileHash[file,"type",range] 和 FileHash[file,"type",range,"format"].
范例
打开所有单元关闭所有单元基本范例 (5)
范围 (11)
文件和范围指定 (6)
计算除了前 100 个字节和最后 100 个字节之外的所有字节的哈希码:
创建一个 CloudObject:
给出 CloudObject 中数据的哈希:
对于哈希,来自 CloudObject 的数据被表示为包含换行符的字符串:
哈希的类型和格式 (5)
用十进制字符串给出的 512 位的 SHA 编码,包括开头的零:
用 ByteArray 给出的文件的前 50 个字节的双 SHA 编码:
属性和关系 (10)
文本
Wolfram Research (2007),FileHash,Wolfram 语言函数,https://reference.wolfram.com/language/ref/FileHash.html (更新于 2020 年).
CMS
Wolfram 语言. 2007. "FileHash." Wolfram 语言与系统参考资料中心. Wolfram Research. 最新版本 2020. https://reference.wolfram.com/language/ref/FileHash.html.
APA
Wolfram 语言. (2007). FileHash. Wolfram 语言与系统参考资料中心. 追溯自 https://reference.wolfram.com/language/ref/FileHash.html 年