序文プログラムでは、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 の CTO である Andrew Bosworths 氏が記者に独占インタビューに応...
大規模モデルの時代において、Transformer は科学研究分野全体を一手にサポートします。 Tr...
この記事では、まず初心者が知っておくべき機械学習 (ML) アルゴリズムのトップ 10 を紹介し、い...
無症状感染者の存在により、COVID-19の検出と制御は非常に困難になります。 しかし、MITの研究...
買い物のときに顔で支払いをしたり、顔で携帯電話のロックを解除したり、コミュニティに入るときにドアを開...
カスタマイズされた医療機器から手頃な価格の住宅まで、あらゆるものを作成するために使用される 3D プ...
数日前、TikTokで、ある親がTikTokの特殊効果を使って子供の年齢と容姿を計測する動画を見まし...
スマートビルへの移行はヨーロッパ全土で加速しています。あらゆる業界の組織が顧客と従業員のエクスペリエ...
世界的に権威のある調査機関であるピュー研究所は最近、「アルゴリズムの時代」と題する報告書を発表し、1...
ソラは発売後すぐにリバースエンジニアリングによって「解剖」されたのでしょうか? !リーハイ大学とマイ...
チャットボットの人気が高まるにつれて、競合するアプリケーション フレームワークが多数登場しました。 ...
プログラマー職の面接では、多くの場合、プログラミング面接プロセスを受ける必要があり、雇用主はこれを利...
先週は、古典的な CNN ネットワーク AlexNet が画像分類に与える影響についてお話ししました...
トム・ペック氏がCOVID-19パンデミックの真っ只中にシスコに入社したとき、彼の主な目標は世界最大...