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

首頁 > 編程 > PHP > 正文

php實(shí)現(xiàn)的AES加密類定義與用法示例php技巧

2020-03-22 18:24:23
字體:
供稿:網(wǎng)友
這篇文章主要介紹了php實(shí)現(xiàn)的AES加密類定義與用法,結(jié)合完整實(shí)例形式分析了基于php的AES加密類實(shí)現(xiàn)及使用方法,需要的朋友可以參考下

本文實(shí)例講述了php實(shí)現(xiàn)的AES加密類定義與用法。分享給大家供大家參考,具體如下:

CryptAES.html' target='_blank'>class.php文件:

 ?phpclass CryptAES protected $cipher = MCRYPT_RIJNDAEL_128; protected $mode = MCRYPT_MODE_ECB; protected $pad_method = NULL; protected $secret_key =  protected $iv =  public function set_cipher($cipher) $this- cipher = $cipher; public function set_mode($mode) $this- mode = $mode; public function set_iv($iv) $this- iv = $iv; public function set_key($key) $this- secret_key = $key; public function require_pkcs5() $this- pad_method = pkcs5  protected function pad_or_unpad($str, $ext) if ( is_null($this- pad_method) ) return $str; else $func_name = __CLASS__ . :: . $this- pad_method . _ . $ext . pad  if ( is_callable($func_name) ) $size = mcrypt_get_block_size($this- cipher, $this- mode); return call_user_func($func_name, $str, $size); return $str; protected function pad($str) return $this- pad_or_unpad($str,  protected function unpad($str) return $this- pad_or_unpad($str, un  public function encrypt($str) $str = $this- pad($str); $td = mcrypt_module_open($this- cipher, , $this- mode,  if ( empty($this- iv) ) $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); else $iv = $this-  mcrypt_generic_init($td, $this- secret_key, $iv); $cyper_text = mcrypt_generic($td, $str); //$rt=base64_encode($cyper_text); $rt = bin2hex($cyper_text); mcrypt_generic_deinit($td); mcrypt_module_close($td); return $rt; public function decrypt($str){ $td = mcrypt_module_open($this- cipher, , $this- mode,  if ( empty($this- iv) ) $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND); else $iv = $this-  mcrypt_generic_init($td, $this- secret_key, $iv); $decrypted_text = mdecrypt_generic($td, self::hex2bin($str)); //$decrypted_text = mdecrypt_generic($td, base64_decode($str)); $rt = $decrypted_text; mcrypt_generic_deinit($td); mcrypt_module_close($td); return $this- unpad($rt); public static function hex2bin($hexdata) { $bindata =  $length = strlen($hexdata); for ($i=0; $i $length; $i += 2) $bindata .= chr(hexdec(substr($hexdata, $i, 2))); return $bindata; public static function pkcs5_pad($text, $blocksize) $pad = $blocksize - (strlen($text) % $blocksize); return $text . str_repeat(chr($pad), $pad); public static function pkcs5_unpad($text) $pad = ord($text{strlen($text) - 1}); if ($pad strlen($text)) return false; if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false; return substr($text, 0, -1 * $pad);? 

用法:

require_once( CryptAES.class.php $keyStr = ss4fs4skfhksk $aes = new CryptAES();$keyStr = $aes- hex2bin($keyStr);$aes- set_key($keyStr);$aes- require_pkcs5();$d = $aes- encrypt($data);

注:這里需要在php.ini中開啟:extension=php_mcrypt.dll

PS:關(guān)于加密解密感興趣的朋友還可以參考本站在線工具:

文字在線加密解密工具(包含AES、DES、RC4等):
http://tools.jb51.net/password/txt_encode

MD5在線加密工具:
http://tools.jb51.net/password/CreateMD5Password

在線散列/哈希算法加密工具:
http://tools.jb51.net/password/hash_encrypt

在線MD5/hash/SHA-1/SHA-2/SHA-256/SHA-512/SHA-3/RIPEMD-160加密工具:
http://tools.jb51.net/password/hash_md5_sha

在線sha1/sha224/sha256/sha384/sha512加密工具:
http://tools.jb51.net/password/sha_encode

您可能感興趣的文章:

PHP實(shí)現(xiàn)的防止跨站和xss攻擊代碼php技巧

Ubuntu上安裝yaf擴(kuò)展的方法php實(shí)例

thinkphp3.2.0 setInc方法 源碼全面解析php實(shí)例

以上就是php實(shí)現(xiàn)的AES加密類定義與用法示例php技巧的詳細(xì)內(nèi)容,PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巫山县| 博客| 景宁| 泊头市| 滨州市| 鹤岗市| 黄冈市| 瓦房店市| 沙河市| 永寿县| 南通市| 黎平县| 齐齐哈尔市| 确山县| 辉南县| 天峨县| 曲水县| 敦煌市| 洪雅县| 衡东县| 龙州县| 余干县| 陵川县| 新和县| 凯里市| 盘山县| 长寿区| 山西省| 白银市| 吉林市| 宝兴县| 加查县| 普格县| 永新县| 石林| 澄江县| 湟源县| 邯郸县| 丹巴县| 贵州省| 丹巴县|