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},]は,事実上,それまでのストリーム位置を無視して,入力ストリーム中の指定された範囲のバイト位置のデータを抽出する.
  • filespecfile または{file,range}でよい.
  • 可能なハッシュコードの型には次のようなものがある.
  • "Adler32"アドラー32ビット巡回冗長検査
    "CRC32"32ビット巡回冗長検査
    "MD2"128ビットMD2コード
    "MD4"128ビットMD4コード
    "MD5"128ビットMD5コード(デフォルト)
    "RIPEMD160"160ビットRIPEMDコード
    "RIPEMD160SHA256"SHA256に従うRIPEMD-160(ビットコインで使われているような)
    "SHA"160ビットSHA-1コード
    "SHA256"256ビットSHAコード
    "SHA256SHA256"Double 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"底36の英数文字列
    "Base64Encoding"底64符号化
    "ByteArray"明示的なバイト配列としてのハッシュコード
  • Wolfram言語の以前のバージョンとの互換性のために,FileHash[file,"type",range]FileHash[file,"type",range,"format"]というシンタックスがサポートされている.

例題

すべて開くすべて閉じる

  (5)

ファイルのフィンガープリント:

このファイルの"SHA512"ハッシュコード:

ファイルの最初の100バイトの"SHA512"ハッシュコード:

16進法形式の"MD5"ハッシュコード:

CloudObjectのハッシュ:

スコープ  (11)

ファイルと範囲指定  (6)

ファイルの最初の100バイトについて,ハッシュ値を計算する:

同様に:

最後の100バイトについて,ハッシュ値を計算する:

同様に:

100バイト目から200バイト目までのハッシュ値を計算する:

最初と最後の各100バイトを除く全バイトについてのハッシュ値を計算する:

バイト100についてのみハッシュを計算する:

0バイトについてのハッシュ値を計算する:

いくつかのファイルのハッシュを計算する:

完全なファイルのハッシュをそのいくつかの部分集合とともに求める:

CloudObjectを作る:

CloudObjectに入っているデータのハッシュを求める:

デフォルトで,範囲全体のMD5ハッシュが計算される:

ハッシュングのために,CloudObjectからのデータが改行を含む文字列として表される:

バイト列を使った同じハッシュ:

バイナリストリームを開く:

そのハッシュを計算する:

現在のストリーム位置とは無関係に同じ結果が与えられる:

ストリームを閉じる:

空白のファイルとクラウドオブジェクトを作る:

同じコンテンツをファイルとクラウドオブジェクトに入れる:

ファイルを指しているストリームも開く:

3つのオブジェクトすべてのハッシュは同じである:

ストリームを閉じる:

ハッシュのタイプと形式  (5)

異なるハッシュコードを比較する:

整数として与えられた512ビットSHAコード:

十進列として与えられた,先頭の0を含む512ビットSHAコード:

ハッシュ値の異なる文字列表現を比較する:

ByteArrayとして与えられた,ファイルの最初の50バイトのDouble SHAコード:

結果の256ビットを含むバイト配列:

配列中の個々のバイトを見る:

特性と関係  (10)

デフォルト形式は"MD5"である:

デフォルトの範囲指定はAllである:

これは{-1,1}と同じである:

0バイトのハッシュコードを求めることは,空ファイルのハッシュコードを求めることと同じである:

"Integer"はデフォルト形式である:

"DecimalString"は,必要な場合は0で充填された,"Integer"の文字列バージョンである:

"HexString"は,必要な場合は0で充填された,底16の表現である:

"Base36String"は,要な場合は0で充填された,底36の表現である:

"Base64Encoding"は,底64の符号化を使って結果のバイトを符号化する:

FileHash[file,code]は,事実上,Hash[ReadByteArray[file],code]と同じである:

FileHash[file,code]は,事実上,Hash[ByteArray@Import[file,"Byte"]]と同じである:

Wolfram Research (2007), FileHash, Wolfram言語関数, https://reference.wolfram.com/language/ref/FileHash.html (2020年に更新).

テキスト

Wolfram Research (2007), FileHash, Wolfram言語関数, https://reference.wolfram.com/language/ref/FileHash.html (2020年に更新).

CMS

Wolfram Language. 2007. "FileHash." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/FileHash.html.

APA

Wolfram Language. (2007). FileHash. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FileHash.html

BibTeX

@misc{reference.wolfram_2024_filehash, author="Wolfram Research", title="{FileHash}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/FileHash.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_filehash, organization={Wolfram Research}, title={FileHash}, year={2020}, url={https://reference.wolfram.com/language/ref/FileHash.html}, note=[Accessed: 21-November-2024 ]}