Skip to main content

ハッシュとは何ですか?

Hashesは、通常はテキストの形で変数長のデータを取得し、それをより短い固定長の数値値に変換する数学的式です。ハッシュは、検索をより速く効率的にするために、コンピューターデータベースで頻繁に使用されます。また、パスワードが侵害されないようにし、デジタル署名を認証するために、暗号化にも使用されます。ハッシュはハッシュ関数の名前でも移動し、アルゴリズムと見なすこともできます。たとえば、名前で構成されるデータベースでは、ユーザーが「John Doe」を検索する場合、コンピューターは検索のすべての文字をすべてのデータベースエントリの文字と一致させる必要があります。名前のすべてのキャラクターには、26の異なる可能性があります—英語のアルファベット&mdashの文字;エントリの可変長さも検索を遅くします。各テキスト文字列を一連の数字に変えると、コンピューターには各文字をチェックする10の可能性しかないため、検索が簡素化されます。桁「0」から「9」番号シリーズの固定長は、コンピューターがより効率的にジョブを行うのにも役立ちます。Hash関数が適用されているデータベースでは、すべてのエントリには対応する一意の数字があります。これはハッシュキーと呼ばれます。この例では、検索を行うと、コンピューターは最初に「John Doe」など、作成した入力にハッシュ関数を適用します。これにより、たとえば「456789」などの数値が得られます。コンピューターは、この結果を正しいエントリに対応するハッシュキーに迅速に一致させることができます。たとえば、送信者であるロバートは、誰かにドキュメントを送りたいと望んでおり、受信者のメアリーは、途中でドキュメントが改ざんされていないことを確認したいと考えています。送信者であるロバートは、ハッシュ関数を介してドキュメントを実行するだけで、数値になります。その後、ロバートはハッシュキーを暗号化し、暗号化されたキーとともにドキュメントを送信します。maryメアリーは両方のアイテムを受け取り、ハッシュキーを復号化します。彼女は、ドキュメントが送信される前に生じる数値を見ることができます。彼女の手の中のドキュメントがまったく同じであることを確認するために、彼女はコンピューターのハッシュ機能を介してドキュメントを実行します。最後に、彼女は両方のキーを比較します。それらが同じ場合、ドキュメントは受信者への途中で変更されませんでした。comed異なるハッシュ関数が存在し、それぞれが独自の数式を備えています。ハッシュ関数が機能するには、2つのデータベースエントリが同じハッシュキーを持っている場合に発生する衝突を最小限に抑える必要があります。ハッシュ関数も一方向でなければなりません。つまり、データベースエントリまたはドキュメントからキーを作成できますが、その逆ではありません。言い換えれば、ハッシュキーから元のドキュメントを「リバースエンジニアリング」することはできません。