序文プログラムでは、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 変革の道筋
私たちは人工知能の存在に慣れ始めており、生成型人工知能(GenAI)の普及により、人工知能が世界に与...
旅行に出かけることは、祖国の美しい川や山を鑑賞し、「詩と遠い場所」を追求することです。 AIの助けに...
AIチップはクラウドとエッジに分かれています。クラウドチップは高いパフォーマンスが求められますが、...
[[357620]]科学技術の発展に伴い、人類は機械工学、材料科学、電子技術、自動制御、コンピュータ...
スターヒューマノイドロボット企業フィギュアがハイライトの瞬間を迎えました!先ほど、OpenAIとFi...
私たちの周りのあらゆるものがどうしてこんなにスマートになったのか、不思議に思ったことはありませんか?...
[51CTO.com クイック翻訳] ご存知のとおり、顔の特徴は指紋ほどユニークで永続的ではありま...
論文アドレス: https://arxiv.org/abs/2205.15508コードアドレス: h...
著者: 張傑[51CTO.comより引用] 2020年と比べると、2021年の自動運転業界にはよりエ...
この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...