ハッシュアルゴリズムの概念と機能
私たちは、実際には、また、ハッシュテーブル、ハッシュ関数とハッシュ衝突として翻訳することができ、ハッシュテーブル、ハッシュ関数とハッシュ衝突を共有意味できました。ハッシュアルゴリズム単にバイナリ値をマッピングした後に得られた固定長の文字列のバイナリ値に任意の長さのバイナリ値のストリングをマッピングするための前述のハッシュ関数はハッシュ値であることが理解される(ハッシュ値) 。
最も一般的なアプリケーションの私たちの日々の開発は、関数MD5でデータを暗号化するハッシュアルゴリズムで、MD5は、我々は一般的な特性をまとめることができますMD5ハッシュアルゴリズムと組み合わせて、ハッシュ関数であります:
- 生データから導出されたハッシュ値を元に戻すことはできません(それはまた不可逆的な、一方向ハッシュアルゴリズムアルゴリズムと呼ばれます)。
- 元のデータが1ビットのみを変更した場合でも、入力データに対して非常に敏感で、結果として得られるハッシュ値が非常に異なっています。
- ハッシュ衝突の確率が異なる生データのために、同じハッシュ値の確率が非常に小さく、非常に小さいことを特徴とします。
- ハッシュアルゴリズムの効率は、長いテキストの可能な限り効率的に迅速にハッシュ値を計算することができます
ハッシュアルゴリズムを適用します
1、シーンワン:セキュリティ暗号化
毎日のユーザーのパスワードの暗号化は、一般的に使用し、それは可逆的ではないので、MD5、SHAハッシュ関数などであり、結果はマイナーな違いを暗号化した後に大きく異なるので、セキュリティが優れています。
図2に示すように、シーン2:固有の識別
URLフィールドまたは画像フィールドのような要求を繰り返すことができない、この時間は、対応するフィールドの処理によって行うことができる文書のクラスもまた、加えて、MD5、統一されたデータと32ビット長データベースインデックス角度から良好クエリを構築する値より迅速に重複ファイルを判断した場合ように、一意の識別子として、MD5バイナリデータの処理を行います。
3、シーン3:データの検証
たとえば、インターネットからのファイルの多く(特にP2Pサイトのリソース)をダウンロードし、それが途中でハイジャックされたデータの改ざんを防止するため、MD5値、データをダウンロードするための整合性チェックが含まれます。
4、シーン5:ハッシュ関数
既に述べたように、MD5、SHA1、ハッシュおよび他の機能でPHPは、に基づくハッシュ値を計算するハッシュアルゴリズムであります
5、シーン5:ロードバランシング
同じクライアントの要求については、具体的には、ログインしたユーザの要求、それはエンドユーザーのID番号で、ハッシュアルゴリズムの使用を達成するために作ることができ、データの一貫性を確保するために、同じマシンにルーティングされたセッション要求に必要マシンの合計数(何ビットマシンの所定の数を取ることができる)、機体番号として得られた値を法。
6、シーン6:分散キャッシュ
分散キャッシュおよび他のマシンまたは分散データベースは、各マシンに格納された一貫性のないキャッシュデータと同じではない、マシンは、キャッシュの拡張、再インデックスする必要マシン(または再インデックスの一部)を格納するキャッシュは、ここに適用されるときはいつでもまた、ハッシュアルゴリズムを考えました。