ハッシュの主な目的は データの完全性を検証する.
生成されたハッシュは入力データに対してUNIQUEなので、一意な"フィンガープリント「入力データの
このため、ハッシュはインターネットのような安全でない通信経路を通じて送信されるデータの完全性を検証するのに役立つ。 データの完全性とは、データが承認されていない方法で変更されていないことを意味する。
受信したデータのハッシュ値は、データのハッシュ値と比較することができる。 以前 データが改ざんされたかどうかを判断するために送信された。
私がメッセージとそこから生成したハッシュ値の両方を投稿すれば、あなたは受け取ったメッセージからハッシュ値を生成し、そのハッシュ値を比較することができる。
を使っている。 シンプル 例えば、これからランチを食べに行こうとしていて、ドアを出る直前に前回のことを思い出したとしよう......。
あなたの人柄はとても良かったが、匂いは全然良くなかった。
だから、君にメッセージを送りたいんだ。消臭剤をつけてください。"
しかし、これを送信する前にハッシュ関数(SHA-256)にかける。ハッシュは
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
このハッシュを送る 第一.*
それから実際のテキストメッセージを送る。
私のメッセージを受け取って、あなたはこう思うだろう。それとも輸送中に傍受され、元のメッセージが改ざんされたのか?" と思うだろう。
つまり、メッセージを 同じハッシュ関数.
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
そして、あなたのハッシュとテキストメッセージの前のハッシュを比較する。
もし両方のハッシュ値が同じなら、これは証明になる:
- メッセージは正しく送信された。
- あなたの脇の下は本当に臭い!
- このメッセージは、私があなたに送ってからあなたが受け取るまでの間に、何者かによって意図的に改ざんされたものではありません。
もちろん、現実の世界では、それは私たちのことだ。 コンピュータ 私たちのためにすべてをやってくれる。
そして願わくば、ワキの匂いを爽やかに保ちたいものだ。
*技術的には、あなたにハッシュを送る前に、何らかの方法でハッシュを保護する必要がある。ハッシュが転送中にどのように保護され続けるかは、後のレッスンでカバーする。
ハッシングの実例:オンライン・パスワード
これは意外かもしれないが、おそらく日常生活でハッシュに遭遇しているはずだ......メールをチェックするためにログインするときはいつも。
Eメールアドレスとパスワードを作成しても、Eメールのプロバイダーは実際のパスワードを保存していない可能性が高い。
代わりに、電子メールプロバイダはパスワードをハッシュ関数に通して が保存される。 ハッシュ パスワードの.
メールアカウントにログインしようとするたびに、メールプロバイダーは 入力したパスワードをハッシュする そして 比較 このハッシュを、保存したハッシュに変換する。
のみ 2つのハッシュが一致するとき メールにアクセスする権限がありますか。
実際のパスワードが保存されない理由を見てみよう。
実際のパスワードが保存され、ハッカーがそのシステムに侵入すれば、パスワードを盗むことができる。複数のウェブサイトで同じパスワードを使うユーザーにとって、これは間違いなく好ましくない!
解決策は、パスワードをハッシュ化することだ。
パスワードをハッシュ化することで、同社はユーザー情報を保護する。ハッカーがシステムに侵入したとしても、実際のパスワードにはアクセスできず、ハッシュ値にしかアクセスできない。
ハッシュは 不可逆 そのため、ハッカーがハッシュを見ただけで、実際のパスワードが何であるかを把握することは不可能です。ハッシュ化することで、データがスクランブルされた状態で保存されるため、盗みにくくなる。
ログインするたびに、メールプロバイダーはプレーンテキストのパスワードを保存しない。 ハッシュ.
パスワードを入力すると、そのパスワードはハッシュ関数にかけられます。
出力はデータベースに保存されているハッシュと照合される。
ハッシュ値が同じなら、パスワードは正しい。
間違ったパスワードが入力されると、異なるハッシュが生成される。 保存されているものよりハッシュは一致しないので、ログインの試みは失敗する。
おわかりのように、ハッシュ関数は データを文字化けさせて読めなくする.たとえハッカーがあなたの電子メール・プロバイダーのサーバーにアクセスしたとしても、保存されている詳細をスクランブル解除することはできない。