国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP的AES加密算法完整實例

2024-05-04 23:48:28
字體:
來源:轉載
供稿:網友

本文實例講述了PHP的AES加密算法。分享給大家供大家參考,具體如下:

<?phpclass MCrypt {  private $hex_iv = '00000000000000000000000000000000'; # converted JAVA byte code in to HEX and placed it here  private $key = 'U1MjU1M0FDOUZ.Qz'; #Same as in JAVA  function __construct() {    $this->key = hash('sha256', $this->key, true);    //echo $this->key.'<br/>';  }  function encrypt($str) {    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');    mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv));    $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);    $pad = $block - (strlen($str) % $block);    $str .= str_repeat(chr($pad), $pad);    $encrypted = mcrypt_generic($td, $str);    mcrypt_generic_deinit($td);    mcrypt_module_close($td);    return base64_encode($encrypted);  }  function decrypt($code) {    $td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '', MCRYPT_MODE_CBC, '');    mcrypt_generic_init($td, $this->key, $this->hexToStr($this->hex_iv));    $str = mdecrypt_generic($td, base64_decode($code));    $block = mcrypt_get_block_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_CBC);    mcrypt_generic_deinit($td);    mcrypt_module_close($td);    return $this->strippadding($str);  }  /*   For PKCS7 padding   */  private function addpadding($string, $blocksize = 16) {    $len = strlen($string);    $pad = $blocksize - ($len % $blocksize);    $string .= str_repeat(chr($pad), $pad);    return $string;  }  private function strippadding($string) {    $slast = ord(substr($string, -1));    $slastc = chr($slast);    $pcheck = substr($string, -$slast);    if (preg_match("/$slastc{" . $slast . "}/", $string)) {      $string = substr($string, 0, strlen($string) - $slast);      return $string;    } else {      return false;    }  }  function hexToStr($hex)  {    $string='';    for ($i=0; $i < strlen($hex)-1; $i+=2)    {      $string .= chr(hexdec($hex[$i].$hex[$i+1]));    }    return $string;  }}$encryption = new MCrypt();echo $encryption->encrypt('123456') . "<br/>";echo $encryption->decrypt('tpyxISJ83dqEs3uw8bN/+w==');?>

希望本文所述對大家PHP程序設計有所幫助。

 


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 青阳县| 开平市| 卓尼县| 筠连县| 上虞市| 绥芬河市| 洱源县| 普陀区| 封开县| 望城县| 民勤县| 崇仁县| 巴中市| 塘沽区| 余江县| 兴义市| 福海县| 丹寨县| 资兴市| 南宁市| 监利县| 鹿邑县| 六安市| 汝阳县| 泰顺县| 泊头市| 康马县| 凭祥市| 银川市| 安多县| 泉州市| 克东县| 蒙自县| 兰坪| 塔河县| 馆陶县| 沙河市| 洪江市| 泗洪县| 临漳县| 沁水县|