ハッシュとは何ですか?

ハッシュは、通常、テキストの形で変数長のデータを取得し、それをより短い固定長い数値に変換する数学的式です。ハッシュは、検索をより速く効率的にするために、コンピューターデータベースで頻繁に使用されます。また、パスワードが侵害されないようにし、デジタル署名を認証するために、暗号化にも使用されます。ハッシュはハッシュ関数の名前でも移動し、アルゴリズムと見なすこともできます。

ハッシュは、データベース検索を促進する上で大きな役割を果たします。たとえば、名前で構成されるデータベースでは、ユーザーが「John Doe」を検索する場合、コンピューターは検索のすべての文字をすべてのデータベースエントリの文字と一致させる必要があります。名前のすべてのキャラクターには、英語のアルファベットの文字という26の異なる可能性がありますが、エントリの可変長さも検索を遅くします。

対照的に、ハッシュ関数を適用するとcがなりますOmputerの人生ははるかに簡単です。各テキスト文字列を一連の数字に変えると、コンピューターには各文字をチェックする10の可能性しかないため、検索が簡素化されます。桁「0」から「9」番号シリーズの固定長は、コンピューターがより効率的にジョブを行うのにも役立ちます。

ハッシュ関数が適用されたデータベースでは、すべてのエントリには対応する一意の数字があります。これはハッシュキーと呼ばれます。この例では、検索を行うと、コンピューターは最初に「John Doe」など、作成した入力にハッシュ関数を適用します。これにより、たとえば「456789」などの数値が得られます。コンピューターは、この結果を正しいエントリに対応するハッシュキーに迅速に一致させることができます。

ハッシュはデジタル署名としても機能します。たとえば、送信者であるロバートは誰かにドキュメントを送りたいと思っています。途中で赤。送信者であるロバートは、ハッシュ関数を介してドキュメントを実行するだけで、数値になります。その後、ロバートはハッシュキーを暗号化し、暗号化されたキーとともにドキュメントを送信します。

メアリーは両方のアイテムを受け取り、ハッシュキーを復号化します。彼女は、ドキュメントが送信される前に生じる数値を見ることができます。彼女の手の中のドキュメントがまったく同じであることを確認するために、彼女はコンピューターのハッシュ機能を介してドキュメントを実行します。最後に、彼女は両方のキーを比較します。それらが同じ場合、ドキュメントは受信者への途中で変更されませんでした。

多くの異なるハッシュ関数が存在し、それぞれに独自の数式があります。ハッシュ関数が機能するには、2つのデータベースエントリが同じハッシュキーを持っている場合に発生する衝突を最小限に抑える必要があります。ハッシュ関数も一方向でなければなりません。つまり、データベースエントリまたはドキュメントからキーを作成できますが、その逆ではありません。言い換えれば、「逆エンギー」はできませんHashキーの元のドキュメント。

他の言語

この記事は参考になりましたか? フィードバックをお寄せいただきありがとうございます フィードバックをお寄せいただきありがとうございます

どのように我々は助けることができます? どのように我々は助けることができます?