回答受付が終了しました

ハッシュ関数についての質問です。 ハッシュ値は元の文章の大きさに関わらず、同じ長さの値で返ってくると聞きました。どのような方法を使ってこのようなことを可能にしているのでしょうか?

プログラミング | 暗号と認証34閲覧xmlns="http://www.w3.org/2000/svg">25

回答(3件)

0

例えば、 ABCDEFGHIJK も文字列があった時、それぞれの文字の文字コード(Aなら65、Bなら66とか)を全部加算し、例えば12345(適当な数字ですが)だったとして、これを1000で割った余りを求めれば345の3桁の数字になります。 文字列が 「今日は晴れです。明日は曇りでしょう。」 だった場合も、文字コード値を加算したら3447534(これも適当)だとして、1000で割った余りは534と、3桁の数字になります。 これがハッシュ値の求め方の原理です(もちろん実際にはもっと複雑なアルゴリズム)。

0

ハッシュ値を計算する方法は色々あるけれども、「同じ長さの値で返ってくる」様にするには、最後に「最大値+1で割った余り」を取り出せばよい。