ホームページ  >  記事  >  バックエンド開発  >  簡潔な PHP の可逆暗号化関数

簡潔な PHP の可逆暗号化関数

WBOY
WBOYオリジナル
2016-07-25 08:43:19951ブラウズ

多くの場合、データの暗号化と復号化が必要になります。たとえば、一部のデータは Cookie に保存する必要がありますが、現時点では、データを暗号化して Cookie に保存する必要があります。再度復号化する必要があります。

  1. // データを暗号化して Cookie に書き込みます
  2. $cookie_data = $this -> encrypt("nowmagic", $data);
  3. $cookie = array(
  4. 'name' => '$data ' ,
  5. '値' => $cookie_data,
  6. '期限切れ' => ',
  7. 'パス' => '
  8. );
  9. $this->input->set_cookie($cookie);
  10. // 暗号化
  11. public function encrypt($key, $plain_text) {
  12. $plain_text = トリム($plain_text);
  13. $ iv = substr(md5($key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
  14. $c_t = mcrypt_cfb (MCRYPT_CAST_256, $key, $plain_text, MCRYPT_ENCRYPT, $iv); ));
  15. }
  16. 使用時の復号化:
  17. if( isset($_COOKIE['data']) )
  18. {
  19. // Cookie を使用してセッションに値を割り当てます
  20. $_SESSION['data'] = decrypt(" nowamagic ", $_COOKIE['data']);
  21. }
  22. function decrypt($key, $c_t) {
  23. $c_t = トリム(chop(base64_decode($c_t)));
  24. $iv = substr(md5( $ key), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
  25. $p_t = mcrypt_cfb (MCRYPT_CAST_256, $c_t, MCRYPT_DECRYPT, $iv);
  26. return trim(chop($p_t));
  27. コピーコード
  28. この可逆暗号化機能の使用はここに記録されます。

PHP

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