クライアントとサーバーが通信するとき、ID が URL パラメーターとしてやり取りされるという非常に一般的なシナリオがあります。現在のビジネスがこの ID 識別子のみを持っていると仮定すると、この ID を暗号化して送信し、サーバーに復号化するには、もう少し安全な通信が必要です。ここではサーバー側の秘密キーが必要であり、このキーは暗号化と復号化に使用されます。この記事では、PHP がカスタム キーを使用してデータを暗号化および復号化する方法を主に紹介します。文字列変換、傍受などの操作のための暗号化および復号化関数を実装するための PHP のテクニックが含まれています。
暗号化と復号化の方法は次のとおりです: $str は暗号化および復号化する必要がある文字列、$key は自分で定義したキーです
// 加密 function encryptStr($str, $key){ $block = mcrypt_get_block_size('des', 'ecb'); $pad = $block - (strlen($str) % $block); $str .= str_repeat(chr($pad), $pad); $enc_str = mcrypt_encrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); return base64_encode($enc_str); } // 解密 function decryptStr($str, $key){ $str = base64_decode($str); $str = mcrypt_decrypt(MCRYPT_DES, $key, $str, MCRYPT_MODE_ECB); $block = mcrypt_get_block_size('des', 'ecb'); $pad = ord($str[($len = strlen($str)) - 1]); return substr($str, 0, strlen($str) - $pad); }
これが適用される場合は言及する価値があります:
URL シナリオの ID に暗号化後、base64 でエンコードされているため、+ 記号の影響を取り除くために再ダウンロードすることをお勧めします。 urlencode()
PHPの暗号化と復号化のいくつかの方法に関する使用チュートリアル
以上がPHP はカスタム キーをどのように使用してデータを暗号化および復号化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。