序文プログラムでは、MD5 sha1 など、多くの暗号化アルゴリズムをよく見かけます。今日は、これらの暗号化アルゴリズムについて学びます。理解する前に、hashlib というモジュールについて知っておく必要があります。これは、現在 Python で文字の暗号化を提供しているモジュールです。暗号化する文字タイプはバイナリ エンコーディングであるため、文字列を直接暗号化するとエラーが発生します。
hashlib 内のすべてのハッシュ アルゴリズムのセットを取得するには、次の 2 つの方法のいずれかを使用できます。
以下では、一般的に使用される集中アルゴリズムを選択して説明します。 1. MD5MD5 は Message-Digest Algorithm 5 の略で、情報伝送の整合性と一貫性を確保するために使用されます。コンピュータで広く使われているハッシュアルゴリズム(要約アルゴリズム、ハッシュアルゴリズムとも訳される)の一つで、主流のプログラミング言語ではMD5が一般的に実装されています。ハッシュ アルゴリズムの基本原理は、データ (漢字など) を別の固定長の値に変換することです。MD5 の前身には、MD2、MD3、MD4 があります。 MD5 アルゴリズムには次の特性があります。 1. 圧縮: 任意の長さのデータに対して、計算された MD5 値の長さは固定されます。 2. 計算が簡単: 元のデータから MD5 値を計算するのは簡単です。 3. 改ざん防止: 元のデータに変更を加えると、たとえ 1 バイトだけ変更されたとしても、取得される MD5 値に大きな違いが生じます。 4. 強力な衝突防止: 元のデータとその MD5 値がわかっている場合、同じ MD5 値を持つデータ (つまり、偽造されたデータ) を見つけることは非常に困難です。 MD5 の機能は、デジタル署名ソフトウェアを使用して秘密鍵に署名する前に、大量の情報を機密形式に「圧縮」することです (つまり、任意の長さのバイト文字列を特定の長さの 16 進数字文字列に変換します)。 MD5 は最も一般的なダイジェスト アルゴリズムです。非常に高速で、通常は 32 ビットの 16 進文字列で表される固定の 128 ビット バイトの結果を生成します。
2. シャ1セキュア ハッシュ アルゴリズム SHA1 の結果は 160 ビットで、通常は 40 ビットの 16 進文字列で表されます。
3. sha224セキュアハッシュアルゴリズム
4. sha256セキュアハッシュアルゴリズム
5. sha384セキュアハッシュアルゴリズム
6. sha512セキュアハッシュアルゴリズム
7. 高度な暗号化上記の暗号化アルゴリズムは依然として非常に強力ですが、データベースの衝突によって元に戻される可能性があるという欠陥がまだあります。したがって、暗号化する前に暗号化アルゴリズムにカスタム キーを追加する必要があります。
要約するさて、今日はここまでです。主にmd5、sha1、sha224、sha256、sha384、sha512、高度な暗号化などの集中アルゴリズムを紹介しました。各アルゴリズムの特徴と使い方を簡単に紹介しました。次回の盛り上がりをお楽しみに! |
<<: Java プログラミング スキル - データ構造とアルゴリズム「ソート アルゴリズムの分類と紹介」
>>: 検討する価値がある: 197 億ドル、2021 年のマイクロソフトの AI 変革の道筋
Meta のリアルなデジタル ヒューマン 2.0 がさらに進化し、iPhone を使用して生成できる...
機械学習の場合、パラメータはアルゴリズムの鍵となります。パラメータは、履歴入力データであり、モデルト...
北京大学とテンセントがマルチモーダル15角形の戦士を制作しました!言語を中心に据えて、ビデオ、オーデ...
「働いてお金を稼ぐのは大変すぎるから、屋台を出して自分で経営者になったほうがいいよ!」露店経済の突然...
エンタープライズ テクノロジーの将来は、業界を変えるほどの大きな革新をもたらすでしょう。 5G から...
NVIDIA の研究開発について学ぶことは、NVIDIA の毎年春に開催される GTC カンファレ...
7月22日のニュース:AR技術は継続的な発展により、徐々に成熟してきました。他の新しいテクノロジーと...
画期的な論文word2vec は、当然の NeurIPS Test of Time Award を受...
テクノロジー時代の到来とともに、ロボットは人間の世界の一部になったようです。これらは私たちの生活に多...