MD5はじめに
はじめに1. MD5
フルネームはMD5であるMD5メッセージダイジェストアルゴリズム(英語:MD5メッセージダイジェストアルゴリズム)、暗号ハッシュ関数が広く使用され、128ビット(16バイト、1バイト8)のハッシュ値を生成することができます(完全かつ一貫性のある情報伝達を確実にするために、0caa3b23b8da53f9e4e041d95dc8fa2c):一般的のような、32ビットの16進表現を使用することです。
2. md5の原則
MD5不可逆変換アルゴリズムの文字列として大きなテキストメッセージとしてファイル全体が、ユニークなMD5メッセージダイジェストを生成します。人間の指紋と同様のMD5ファイル、どの2つは、世界で独立していない、と誰もがファイルに変更を加えた場合、その値が対応する「デジタル指紋」のMD5で変更されます。
512のプロセス情報入力パケットにMD5、そして各パケットは一連の処理後に、アルゴリズムの出力は、4つの32ビットで構成され、32席の16グループに分割されている:MD5アルゴリズムの簡単な説明があってもよいですサブグループは、これらの4つの32ビットブロックの連結の128ビットのハッシュ値を生成します。
対称および非対称暗号化アルゴリズムとMD5は、パスワードが傍受されてから2を予防することである、との目標は、アルゴリズムは、元の整合性を実証するために使用されるダイジェスト。
3. MD5プロパティ
1.不可逆
オリジナルのテキストがはいMD5何かを知るの体系的な方法はありません。
高分散で2
抵抗の高いMD5ハッシュコード、従わなければならないルール、このようなスペースなどの元の情報に少しだけ変化すると、生成されたMD5コードは予測不可能であることを特徴とすることができ、劇的な変化のMD5につながります。
3.圧縮率
任意の長さのデータは、算出した長さは、MD5の価値を固定されています。
4.弱衝突耐性
元のデータとそのMD5の既知の値は、MD5は、やりがいのある、同じデータを持つ(すなわち、偽造データ)を見つけることは非常に困難であるにしたいです。
4. MD5の使用
- 暗号化されたパスワードを格納し、ユーザーパスワード、サーバはパスワードのみのMD5を記録し、パスワード自体が記録されていない、ユーザーの身元を確認した後、単にユーザーが再びMD5、MD5を何かをしたいパスワードを入力しての記録を作ります自分のパスワードの正当性を検証するための比較。
- デジタル署名、このようなプログラムを公開としては、あなたのプログラムの中で、ウイルスやトロイの木馬、INSERT、他の人を防ぐために、あなたは、人々がちょうどやってどこからでもこのプログラムをダウンロードする必要があるので、後に、同時に、このプログラムファイルの公開MD5コードでこのプログラムを公開することができますMD5たら、その後、サードパーティ製のプログラムが変更されたかどうかを知るために、比較のMD5で公開します。
- ファイルの整合性の検証、ファイルをダウンロードするとき、サーバは、このドキュメントのMD5に含まれる情報を返すなど、MD5は、契約が完全なドキュメントのパケットロスでない場合は2つのMD5値は、比較され、完全なローカルのダウンロードで行います。
- ファイルのアップロードは、Baiduのクラウド実装秒が通過するように、あなたはファイルサーバが存在していた百度ではMD5でアップロード対照的です。
5.いくつかの質問
異なる言語を使用して計算1.同じファイルが同じMD5?
限り、アルゴリズムが正しいと、それは同じです。
MD5の変化2.コピー?
しません。
3.他の何がそれアルゴリズムダイジェスト?
MD5、HMACの暗号化に加えて、base64で暗号RSA暗号があまりにも暗号化の方法は非常に良いですが、私はここでは詳しく説明しませんが、興味のある友人は、他のデータを参照することができます理解する必要があります
5.どのように使用します
1.まず依存MD5:
$ npm install md5
MD5の使用を必要とする2.インポートするプロジェクト
VAR MD5 =
プロジェクト3.使用
暗号化された文字列を取得するために取得したMD5暗号化データをいえば、文字列不可逆的です
終わり !