ホームページ  >  記事  >  バックエンド開発  >  PHP はカスタム キーをどのように使用してデータを暗号化および復号化しますか?

PHP はカスタム キーをどのように使用してデータを暗号化および復号化しますか?

小云云
小云云オリジナル
2017-12-11 09:55:132512ブラウズ

クライアントとサーバーが通信するとき、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文字列の暗号化と復号化の実装プロセスの共有

暗号化と復号化に関するmysql関数

PHPの暗号化と復号化のいくつかの方法に関する使用チュートリアル

以上がPHP はカスタム キーをどのように使用してデータを暗号化および復号化しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。