#php 暗号化の役割
暗号化: データを暗号化するため、プレーン テキストは表示されません。 。 PHP の開発プロセスでは、多くの場合、一部のデータ (ユーザー パスワードなど) を暗号化する必要があります。1. 暗号化の種類:
1. 一方向ハッシュ暗号化は、固定長の出力を得るために任意の長さの情報をハッシュ計算することです。このハッシュ計算プロセスは一方向です。つまり、固定長の出力情報を取得することはできません。入力情報を取得するために計算されます。 (1) 特徴: アバランシェ効果、固定長出力、および不可逆性。 (2) この機能は、データの整合性を保証することです。 (3) 暗号化アルゴリズム: md5 (標準鍵長 128 ビット)、sha1 (標準鍵長 160 ビット)、md4、CRC-322. 対称ハッシュ暗号化対称暗号化とは、暗号化と復号化が同じキーを使用するか、相互に計算できることを意味します。 (1) 暗号化側と復号化側は同じ鍵を使用します。 (2) 暗号化・復号速度が比較的速く、長期のデータ利用に適しています。 (3) 鍵の送信プロセスは安全ではなく解読されやすく、鍵の管理も面倒です。 (4) 暗号化アルゴリズム: DES (Data Encryption Standard)、3DES、AES (Advanced Encryption Standard、128、192、256、および 512 ビット キーの暗号化をサポート)、Blowfish。 3. 非対称ハッシュ暗号化非対称暗号化と復号化では異なる鍵が使用されます。そのうちの 1 つは公開されており、公開鍵と呼ばれます。もう 1 つは所有者のみが知っており、公開鍵と呼ばれます。キーを秘密キーとして使用します。 (1) 各ユーザーは、暗号化用のキーのペア (公開キーと秘密キー) を所有します。 (2) 公開鍵暗号化、秘密鍵復号化、秘密鍵暗号化、公開鍵復号化。 (3) 公開キーの送信プロセスは安全ではなく、簡単に盗まれたり置き換えられたりする可能性があります。 (4) 公開鍵は鍵長が非常に長いため、暗号化速度が非常に遅く、一般には暗号化には使用されません。 (5) あるユーザーは自分の秘密鍵を使って暗号化し、他のユーザーは自分の公開鍵を使って復号することでデジタル署名の機能を実現します。 (6) 公開鍵暗号化のもう 1 つの機能は、鍵交換を実現することです。 (7) 暗号化および署名アルゴリズム: RSA、ELGamal。 (8) 公開鍵署名アルゴリズム: DSA。 注: (1) RSA: RSA 社によって発明された、可変長キーをサポートする公開キー アルゴリズムです。暗号化する必要があるファイル ブロックの長さも同様です。変数;(2) DSA (デジタル署名アルゴリズム): 標準 DSS (デジタル署名標準) のデジタル署名アルゴリズム; (3) 非対称暗号化アルゴリズムは対称暗号化アルゴリズムよりも高速に実行されるため暗号化アルゴリズムは非常に遅いため、大量のデータを暗号化する必要がある場合は、対称暗号化アルゴリズムを使用して暗号化と復号の速度を上げることをお勧めします。 対称暗号化アルゴリズムでは署名を実装できないため、署名は非対称アルゴリズムのみにすることができます。 (4) 対称暗号アルゴリズムの鍵管理は複雑なプロセスであるため、鍵の管理が安全性を直接決定するため、データ量が少ない場合には非対称暗号の使用を検討できます。アルゴリズムです。 (5) 実際の運用プロセスでは、非対称暗号アルゴリズムを使用して対称アルゴリズムの鍵を管理し、次に対称暗号アルゴリズムを使用してデータを暗号化するという方法が一般的です。この暗号化アルゴリズムの利点は、暗号化速度が速いという利点だけでなく、安全で便利な鍵管理という利点も実現していることです。2. PHP で一般的に使用される暗号化関数:
1.MD5 暗号化:string md5 ( string $str [, bool $raw_output = false ] )
string crypt ( string $str [, string $salt ] )
string sha1 ( string $str [, bool $raw_output = false ])
string urlencode ( string $str )
? => %3F = => %3D % => %25 & => %26 \ => %5C 空格 => %5C
5.base64编码加密:
string base64_decode ( string $encoded_data )
(1)base64_encode()接受一个参数,也就是要编码的数据(这里不说字符串,是因为很多时候base64用来编码图片)
(2)base64_encode()为双向加密,可用base64_decode()来解密
以上がPHP暗号化の役割の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。