ハッシュ関数
from Hash
データをハッシュ化する関数
同じ値を入れると必ず同じハッシュが返却される
不可逆である
元のデータが一文字でも変わると返却される値は全く異なるものになる
完全ハッシュ関数はハッシュ衝突しないハッシュ関数
ハッシュ関数の種類
除算法
division method
名前xを表の大きさ$ Nで割った剰余を関数の結果とする
$ Nが素数の場合に良い方法
なんで?
$ N^2で割ることもある
平方採中法
mid-square method
名前xの2乗$ x^2の中程のビットを適当に取り出したものを関数の結果とする
折り返し法
folding method
名前xの各桁または各部分桁列どうしを加えたり、排他的論理和を取ったりしたものを関数の結果とする