PHPの一般的な暗号化関数には、MD5、SHA1、CRYPTなどが含まれます。各機能には、異なる暗号化方法とアプリケーションシナリオがあります。
MD5関数は、PHPで最も一般的に使用される暗号化関数の1つです。 MD5アルゴリズムを使用して文字列を暗号化し、32ビットの16進数の数値文字列を返します。
MD5関数の基本的な構文は次のとおりです。
string md5(string $str [, bool $raw_output = false])
ここで、$ strは暗号化する必要がある文字列を表し、$ raw_outputは、結果を元のバイナリ形式で返すかどうかを決定します(デフォルト値はfalse)。
MD5関数を使用した暗号化の例は次のとおりです。
$str = 'password';
$encryptedStr = md5($str);
echo $encryptedStr;
出力の結果は次のとおりです。
5f4dcc3b5aa765d61d8327deb882cf99
MD5アルゴリズムは最新のコンピューターに簡単に膨らんでいるため、重要な機密情報を暗号化するのに適していないことに注意する必要があります。セキュリティがほとんど必要ない情報の暗号化により適しています。
Crypt関数は、DESアルゴリズムを使用して文字列を暗号化する関数です。 crypt_std_des、crypt_md5、crypt_blowfishなど、さまざまな暗号化方法をサポートしています。
クリプト関数の基本的な構文は次のとおりです。
string crypt(string $str [, string $salt])
ここで、$ strは暗号化する必要がある文字列であり、$塩は異なる長さと形式の暗号化された塩です。たとえば、crypt_std_desは2文字の塩を使用し、crypt_md5は11文字の塩を使用し、crypt_sha256は16文字の塩などを使用します。
クリプト関数を使用した暗号化の例は次のとおりです。
$str = 'password';
$encryptedStr = crypt($str);
echo $encryptedStr;
出力の結果は次のとおりです。
$1$hL4EWYcY$32QD/AAzVu2xP5dIbYsi30
MD5関数と同様に、Crypt Functionにはセキュリティが不十分なセキュリティもありません。これは、特にブルートフォース亀裂攻撃を受けやすいためです。したがって、暗号化関数を使用する場合、ユーザーは実際のニーズに応じて適切な暗号化アルゴリズムとメソッドを選択する必要があります。