可変長データのハッシュ技法とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 可変長データのハッシュ技法の意味・解説 

可変長データのハッシュ技法

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/02 09:30 UTC 版)

ハッシュ関数」の記事における「可変長データのハッシュ技法」の解説

データが非常に長い(または可変長の)文字列場合人名URL電子メール中身など)、その分布は一様でないことが多く複雑な依存関係存在することが多い。例えば、自然言語文章では文字分布は全く一様ではないし、文字並び方にも相関関係があり、その言語特有の性質持っているその場合、ハッシュ関数は文字内の全文字を何らかの形で使用し、しかもそれぞれの文字異なった形で使用するのが望ましい。 そのようなデータハッシュ値変換する典型的手法は、入力小さな単位(数ビット、数バイト、数ワードなど)の並び b[1], b[2], …, b[m] に分割し、それを順に以下のように結合していく。 def make_hash(S0, b) S <- S0 // 状態を初期化 for k in 1..m do // 入力データ単位スキャン: S <- F(S, b[k]) // データ単位 k を状態に結合 end return G(S, n) // 状態からハッシュ値抽出end この手法は、テキストチェックサムフィンガープリントアルゴリズムにも利用されている。状態変数 S は32ビット64ビット符号無し整数である。例の場合S0 は 0 でよいし、G(S,n) は単に S mod n でよい。最適な F の選択難し問題で、データ性質にも依存するデータ単位 b[k] が1ビットなら、F(S,b) は例え次のうになるdef F(S, b) return if highbit(S) == 0 then 2 * S + b else (2 * S + b) ^ Pend ここで highbit(S) は S の最上位ビット意味し、'*' 演算子符号無し整数乗算オーバーフロー無視する操作を表す。'^' はビット単位排他的論理和演算表し、P は適当な固定ワードである。

※この「可変長データのハッシュ技法」の解説は、「ハッシュ関数」の解説の一部です。
「可変長データのハッシュ技法」を含む「ハッシュ関数」の記事については、「ハッシュ関数」の概要を参照ください。

ウィキペディア小見出し辞書の「可変長データのハッシュ技法」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「可変長データのハッシュ技法」の関連用語

可変長データのハッシュ技法のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



可変長データのハッシュ技法のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのハッシュ関数 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS