php实现cookie加密的方法
本文实例讲述了php实现cookie加密的方法。分享给大家供大家参考。具体实现方法如下:
<?php classCookie { /** *解密已经加密了的cookie * *@paramstring$encryptedText *@returnstring */ privatestaticfunction_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); returntrim($decryptText); } /** *加密cookie * *@paramstring$plainText *@returnstring */ privatestaticfunction_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); returntrim(base64_encode($encryptText)); } /** *删除cookie * *@paramarray$args *@returnboolean */ publicstaticfunctiondel($args) { $name=$args['name']; $domain=isset($args['domain'])?$args['domain']:null; returnisset($_COOKIE[$name])?setcookie($name,'',time()-86400,'/',$domain):true; } /** *得到指定cookie的值 * *@paramstring$name */ publicstaticfunctionget($name) { returnisset($_COOKIE[$name])?self::_decrypt($_COOKIE[$name]):null; } /** *设置cookie * *@paramarray$args *@returnboolean */ publicstaticfunctionset($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; returnsetcookie($name,$value,$expire,$path,$domain,$secure); } }
希望本文所述对大家的php程序设计有所帮助。