>  기사  >  백엔드 개발  >  php_php 팁에서 쿠키 암호화를 구현하는 방법

php_php 팁에서 쿠키 암호화를 구현하는 방법

WBOY
WBOY원래의
2016-05-16 20:21:42912검색

이 기사의 예에서는 PHP에서 쿠키 암호화를 구현하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 구현 방법은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.
클래스 쿠키
{
/**
* 암호화된 쿠키를 해독하세요
* *
* @param 문자열 $encryptedText
* @return 문자열
​​*/
비공개 정적 함수 _decrypt($encryptedText)
{
          $key = Config::get('secret_key');
​​​​ $cryptText = base64_decode($encryptedText);
          $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
          $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
          $decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptText, MCRYPT_MODE_ECB, $iv);
         트림 반환($decryptText);
}
/**
     * 加密쿠키
     *
     * @param 문자열 $plainText
     * @return 문자열
    */
비공개 정적 함수 _encrypt($plainText)
{
          $key = Config::get('secret_key');
          $ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
          $iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
          $encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainText, MCRYPT_MODE_ECB, $iv);
          return Trim(base64_encode($encryptText));
}
/**
* 쿠키 삭제
* *
* @param 배열 $args
* @return 부울
​​*/
공개 정적 함수 del($args)
{
          $name = $args['name'];
$domain = isset($args['domain']) ? $args['domain'] : null;
            return isset($_COOKIE[$name]) ? setcookie($name, '', time() - 86400, '/', $domain) : true;
}
/**
* 지정된 쿠키의 값을 가져옵니다
* *
* @param 문자열 $name
​​*/
공개 정적 함수 get($name)
{
          반환 isset($_COOKIE[$name]) ? self::_decrypt($_COOKIE[$name]) : null;
}
/**
* 쿠키 설정
*
* @param 배열 $args
* @return 부울
​​*/
공개 정적 함수 집합($args)
{
          $name = $args['name'];
          $value= self::_encrypt($args['value']);
$expire = isset($args['expire']) ? $args['expire'] : null;
$path = isset($args['path']) ? $args['path'] : '/';
$domain = isset($args['domain']) ? $args['domain'] : null;
$secure = isset($args['secure']) ? $args['secure'] : 0;
            return setcookie($name, $value, $expire, $path, $domain, $secure);
}
}

이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.