日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

PHP 标准AES加密算法类

發布時間:2024/9/20 php 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PHP 标准AES加密算法类 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

分享一個標準PHP的AES加密算法類,其中mcrypt_get_block_size('rijndael-128',?'ecb');,如果在不明白原理的情況下比較容易搞錯,可以通過mcrypt_list_algorithms函數查看你需要的加密算法標識。

?

<?php /*** AES128加解密類* @author dy**/ defined('InEjbuy') or exit('Access Invalid!'); class Aes{//密鑰private $_secrect_key;public function __construct(){$this->_secrect_key = 'MYgGnQE2jDFADSFFDSEWsdD';}/*** 加密方法* @param string $str* @return string*/public function encrypt($str){//AES, 128 ECB模式加密數據$screct_key = $this->_secrect_key;$screct_key = base64_decode($screct_key);$str = trim($str);$str = $this->addPKCS7Padding($str);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);$encrypt_str = mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);return base64_encode($encrypt_str);}/*** 解密方法* @param string $str* @return string*/public function decrypt($str){//AES, 128 ECB模式加密數據$screct_key = $this->_secrect_key;$str = base64_decode($str);$screct_key = base64_decode($screct_key);$iv = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128,MCRYPT_MODE_ECB),MCRYPT_RAND);$encrypt_str = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $screct_key, $str, MCRYPT_MODE_ECB, $iv);$encrypt_str = trim($encrypt_str);$encrypt_str = $this->stripPKSC7Padding($encrypt_str);return $encrypt_str;}/*** 填充算法* @param string $source* @return string*/function addPKCS7Padding($source){$source = trim($source);$block = mcrypt_get_block_size('rijndael-128', 'ecb');$pad = $block - (strlen($source) % $block);if ($pad <= $block) {$char = chr($pad);$source .= str_repeat($char, $pad);}return $source;}/*** 移去填充算法* @param string $source* @return string*/function stripPKSC7Padding($source){$source = trim($source);$char = substr($source, -1);$num = ord($char);if($num==62)return $source;$source = substr($source,0,-$num);return $source;} }

?

如何聯系我:【萬里虎】www.bravetiger.cn 【QQ】3396726884 (咨詢問題100元起,幫助解決問題500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

總結

以上是生活随笔為你收集整理的PHP 标准AES加密算法类的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。