婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > PHP實現的AES加密、解密封裝類與用法示例

PHP實現的AES加密、解密封裝類與用法示例

熱門標簽:桂陽公司如何做地圖標注 合肥企業外呼系統線路 神龍斗士電話機器人 代理打電話機器人 電信外呼系統多少錢一個月 太原400電話申請流程 企業400電話辦理多少費用 宿州正規外呼系統軟件 萍鄉商鋪地圖標注

本文實例講述了PHP實現的AES加密、解密封裝類與用法。分享給大家供大家參考,具體如下:

?php
/**
 * Class AES
 * 用于AES加解密數據
 * time:2018-04-27
 */
class AES
{
  protected $cipher = MCRYPT_RIJNDAEL_256; //AES加密算法
  protected $mode = MCRYPT_MODE_CBC; //采用cbc加密模式
  protected $key; //密鑰
  protected $iv; //cbc模式加密向量,如為空將采用密鑰代替
  /**
   * AES constructor.
   *
   * @param   $key 密鑰
   * @param null $iv 向量 可選 如為空將采用密鑰代替
   *
   * @throws Exception
   */
  public function __construct($key, $iv = NULL)
  {
    if (!extension_loaded("mcrypt")) {
//      throw new \Exception("mcrypt extension do not exist. it was DEPRECATED in PHP 7.1.0, and REMOVED in PHP 7.2.0. use OpenSSL instead");
    }
    $this->key = $key;
    $this->iv = $iv;
  }
  /**
   * 加密數據
   * @param $data
   *
   * @return string
   */
  public function encrypt($data)
  {
    $td = mcrypt_module_open($this->cipher, '', $this->mode, '');
    $key = hash("sha256", $this->key, true);
    $iv = isset($this->iv) ? hash("sha256", $this->iv, true) : $key;
    $data = $this->padding($data);
    mcrypt_generic_init($td, $key, $iv);
    $encryptedData = base64_encode(mcrypt_generic($td, $data));
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    return $encryptedData;
  }
  /**
   * 解密數據
   * @param $data
   *
   * @return bool|string
   */
  public function decrypt($data)
  {
    $td = mcrypt_module_open($this->cipher, '', $this->mode, '');
    $key = hash("sha256", $this->key, true);
    $iv = isset($this->iv) ? hash("sha256", $this->iv, true) : $key;
    mcrypt_generic_init($td, $key, $iv);
    $decrypted_data = mdecrypt_generic($td, base64_decode($data));
    mcrypt_generic_deinit($td);
    mcrypt_module_close($td);
    return $this->unPadding($decrypted_data);
  }
  /**
   * 填充數據到分組大小的整數倍
   * @param null $data
   *
   * @return string
   */
  protected function padding($data = null)
  {
    $blockSize = 32; //MCRYPT_RIJNDAEL_256算法的分組大小是32字節
    $pad = $blockSize - (strlen($data) % $blockSize);
    return $data . str_repeat(chr($pad), $pad);
  }
  /**
   * 去掉填充的數據
   * @param null $data
   *
   * @return bool|string
   */
  protected function unPadding($data = null)
  {
    $pad = ord($data[strlen($data) - 1]);
    if ($pad > strlen($data)) {
      return false;
    }
    if (strspn($data, chr($pad), strlen($data) - $pad) != $pad) {
      return false;
    }
    return substr($data, 0, -1 * $pad);
  }
  /**
   * @return mixed
   */
  public function getSecretKey()
  {
    return $this->key;
  }
  /**
   * @param mixed $key
   */
  public function setSecretKey($key)
  {
    $this->key = $key;
  }
  /**
   * @return null
   */
  public function getIv()
  {
    return $this->iv;
  }
  /**
   * @param null $iv
   */
  public function setIv($iv)
  {
    $this->iv = $iv;
  }
}
//使用方法:
$keyStr = 'sq8f77fwhksk';
$aes = new AES($keyStr);
$str = 'www.jb51.net';
$chgstr = $aes->encrypt($str);
echo $chgstr;
echo "br/>";
$rstr = $aes->decrypt($chgstr);
echo $rstr;
?>

運行結果:

pDyiRRNaxlss2b6SgoiVPdkD2m1QWhX393lh2iFgGdY=
www.jb51.net

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

文字在線加密解密工具(包含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相關內容感興趣的讀者可查看本站專題:《php加密方法總結》、《PHP編碼與轉碼操作技巧匯總》、《PHP數學運算技巧總結》、《PHP數組(Array)操作技巧大全》、《php字符串(string)用法總結》、《PHP數據結構與算法教程》、《php程序設計算法總結》及《php正則表達式用法總結》

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

您可能感興趣的文章:
  • 六種php加密解密方法實例講解
  • PHP rsa加密解密算法原理解析
  • 基于PHP實現解密或加密Cloudflar郵箱保護
  • php中加密解密DES類的簡單使用方法示例
  • php的RSA加密解密算法原理與用法分析
  • RSA實現JS前端加密與PHP后端解密功能示例
  • Js通過AES加密后PHP用Openssl解密的方法
  • PHP實現的AES雙向加密解密功能示例【128位】
  • PHP實現的XXTEA加密解密算法示例
  • PHP實現基于3DES算法加密解密字符串示例
  • PHP實現的DES加密解密類定義與用法示例
  • 基于PHP RSA密文過長加密解密 越過1024的解決方法
  • PHP的RSA加密解密方法以及開發接口使用
  • PHP使用自定義key實現對數據加密解密的方法
  • php實現的三個常用加密解密功能函數示例
  • PHP代碼加密和擴展解密實戰

標簽:廊坊 鄂州 綏化 崇左 衡陽 白銀 太原 辛集

巨人網絡通訊聲明:本文標題《PHP實現的AES加密、解密封裝類與用法示例》,本文關鍵詞  PHP,實現,的,AES,加密,解密,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP實現的AES加密、解密封裝類與用法示例》相關的同類信息!
  • 本頁收集關于PHP實現的AES加密、解密封裝類與用法示例的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    91碰在线视频| 韩国成人精品a∨在线观看| 亚洲一区二区三区中文字幕在线| 18成人在线观看| 精品一区二区三区在线视频| 91日韩精品一区| 日韩午夜电影在线观看| 亚洲成av人在线观看| 欧美午夜精品电影| 亚洲成国产人片在线观看| 欧美最猛性xxxxx直播| 亚洲天堂久久久久久久| 国产白丝精品91爽爽久久| 欧美成人一区二区三区| 亚洲国产中文字幕| 欧美日韩在线播| 久久精品国产亚洲a| 久久看人人爽人人| 91蜜桃在线免费视频| 一区二区三区在线视频观看58| 色噜噜久久综合| 亚洲va韩国va欧美va| 精品国一区二区三区| 99在线精品视频| 日韩高清中文字幕一区| 国产日产欧美一区| 日本精品一区二区三区高清| 久久99精品久久久久久国产越南 | 亚洲国产成人一区二区三区| 色呦呦国产精品| 国产91在线观看丝袜| 日本91福利区| 亚洲国产精品久久人人爱蜜臀| 欧美成人三级在线| 欧洲亚洲精品在线| 9i看片成人免费高清| 不卡在线视频中文字幕| 麻豆精品在线看| 日本网站在线观看一区二区三区 | 欧美丝袜丝交足nylons图片| 国产成人在线网站| 美日韩黄色大片| 国产在线国偷精品免费看| 国产午夜精品一区二区| 精品国产a毛片| 欧美精品一区二区三区在线 | 亚洲国产成人tv| 亚洲成av人片一区二区| 日本最新不卡在线| 国内精品国产成人国产三级粉色 | 中文字幕一区二区三区四区| 国产精品欧美久久久久一区二区| 久久久久久久久99精品| 国产精品久久久久aaaa樱花| 国产精品福利影院| 午夜久久久久久久久久一区二区| 亚洲午夜精品久久久久久久久| 亚洲一区视频在线| 蜜臀91精品一区二区三区 | 国产精品久久久久久久蜜臀| 亚洲日本乱码在线观看| 青青草一区二区三区| 国产成人午夜片在线观看高清观看| 99久久精品国产一区| 91精品一区二区三区久久久久久 | 欧美一级在线视频| 国产精品婷婷午夜在线观看| 五月婷婷激情综合网| 91女人视频在线观看| 国产最新精品免费| 91精品欧美一区二区三区综合在| 中文字幕成人av| 另类小说综合欧美亚洲| 色屁屁一区二区| 亚洲精品水蜜桃| 91麻豆.com| 自拍偷拍国产亚洲| 成人av电影在线观看| 国产日韩精品一区二区浪潮av| 麻豆精品在线看| 日韩欧美高清一区| 午夜精品福利视频网站| 欧美一区二区免费观在线| 亚洲不卡一区二区三区| 欧美在线观看一二区| 亚洲欧洲综合另类在线| 日本韩国一区二区三区视频| 亚洲精品日韩一| 日韩三级免费观看| 岛国精品一区二区| 国产欧美日韩亚州综合| 在线观看精品一区| 午夜欧美电影在线观看| 欧美精品一区二区三区很污很色的 | 一卡二卡欧美日韩| 国产欧美精品在线观看| 欧美在线不卡视频| 国产精品亚洲综合一区在线观看| 欧美一区二区三区四区五区| 日韩专区中文字幕一区二区| 精品国产一区二区三区av性色| 国产福利一区在线| 国产拍欧美日韩视频二区| 日韩一级片在线观看| 国产一区999| 精品一区二区三区影院在线午夜 | 亚洲成人高清在线| 国产传媒日韩欧美成人| 国产美女主播视频一区| 国产做a爰片久久毛片| 国产精品亚洲一区二区三区妖精 | 国产福利精品一区二区| 国产色一区二区| 欧美一区二区精品| 国产成人精品1024| 国产精品福利影院| 国产福利一区二区| 免费成人结看片| 亚洲高清免费视频| 亚洲一区二区三区四区五区黄| 国产欧美精品一区二区色综合| 亚洲1区2区3区视频| 久久久精品免费网站| 国产.欧美.日韩| 麻豆精品国产传媒mv男同| 亚洲在线免费播放| 日韩国产高清影视| 一区二区在线观看视频在线观看| 国产区在线观看成人精品| 97精品国产97久久久久久久久久久久| 最新不卡av在线| 久久久久久久电影| 成人免费高清在线观看| 亚洲人成亚洲人成在线观看图片| 国产欧美一区在线| 国产精品久久毛片av大全日韩| 亚洲美女在线一区| 午夜不卡av在线| 精品综合免费视频观看| 日韩国产精品91| 国产黑丝在线一区二区三区| 精品一区二区三区在线观看| 国产69精品久久久久777| 成人激情电影免费在线观看| zzijzzij亚洲日本少妇熟睡| 在线免费不卡视频| 欧美刺激午夜性久久久久久久| 日韩高清电影一区| 狠狠色丁香婷综合久久| 91蜜桃网址入口| 欧美在线观看禁18| 国产亚洲精品资源在线26u| 一区二区三区鲁丝不卡| 国产一区二区三区最好精华液| 欧美日韩你懂得| 欧美国产精品久久| 精品一区二区三区不卡| 91视频.com| 国产精品美女www爽爽爽| 一区二区三区**美女毛片| 成人午夜精品在线| 久久久99久久精品欧美| 蜜桃av一区二区在线观看| 亚洲成年人影院| 在线观看日韩一区| 一区二区三区电影在线播| 天堂久久一区二区三区| 色综合天天视频在线观看 | 国产成人99久久亚洲综合精品| 在线观看欧美精品| 精品国产亚洲在线| 亚洲综合区在线| 欧美色爱综合网| 日韩高清一区二区| 精品国产一二三| 国产精品一区二区在线看| 精品国产91九色蝌蚪| 国产精品一线二线三线| 亚洲柠檬福利资源导航| 99精品视频中文字幕| 亚洲一二三区不卡| 日本伦理一区二区| 成人午夜免费av| 亚洲小说欧美激情另类| 精品一区二区久久| 亚洲精品中文在线影院| 制服丝袜亚洲网站| 高清不卡一区二区在线| 日韩免费高清av| 91看片淫黄大片一级在线观看| 免费一区二区视频| 国产精品少妇自拍| 亚洲色图清纯唯美| 欧美一区二区免费观在线| 色狠狠一区二区三区香蕉| 91高清在线观看| a在线播放不卡| 不卡视频在线观看| 欧美成人vr18sexvr| 欧美精品粉嫩高潮一区二区|