亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 邏輯算法 > 正文

php對稱加密算法示例

2020-03-22 19:02:06
字體:
來源:轉載
供稿:網友

php對稱加密算法KEY 是之前定義的常量
復制代碼 代碼如下:
Mcrypt::encrypt();
Mcrypt::decrypt();
復制代碼 代碼如下:
defined('ROOT') or exit('Access Denied');html' target='_blank'>class Mcrypt{

public static function encrypt($code){
return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5(KEY), $code, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}

public static function decrypt($code){
return mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5(KEY), base64_decode($code), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND));
}}
常用對稱加密算法(DES/AES)類xcrypt.php
復制代碼 代碼如下:
/**
* 常用對稱加密算法類
* 支持密鑰:64/128/256 bit(字節長度8/16/32)
* 支持算法:DES/AES(根據密鑰長度自動匹配使用:DES:64bit AES:128/256bit)
* 支持模式:CBC/ECB/OFB/CFB
* 密文編碼:base64字符串/十六進制字符串/二進制字符串流
* 填充方式: PKCS5Padding(DES)
*
* @author: linvo
* @version: 1.0.0
* @date: 2013/1/10
*/
class Xcrypt{

private $mcrypt;
private $key;
private $mode;
private $iv;
private $blocksize;

/**
* 構造函數
*
* @param string 密鑰
* @param string 模式
* @param string 向量("off":不使用 / "auto":自動 / 其他:指定值,長度同密鑰)
*/
public function __construct($key, $mode = 'cbc', $iv = "off"){
switch (strlen($key)){
case 8:
$this- mcrypt = MCRYPT_DES;
break;
case 16:
$this- mcrypt = MCRYPT_RIJNDAEL_128;
break;
case 32:
$this- mcrypt = MCRYPT_RIJNDAEL_256;
break;
default:
die("Key size must be 8/16/32");
}

$this- key = $key;

switch (strtolower($mode)){
case 'ofb':
$this- mode = MCRYPT_MODE_OFB;
if ($iv == 'off') die('OFB must give a IV'); //OFB必須有向量
break;
case 'cfb':
$this- mode = MCRYPT_MODE_CFB;
if ($iv == 'off') die('CFB must give a IV'); //CFB必須有向量
break;
case 'ecb':
$this- mode = MCRYPT_MODE_ECB;
$iv = 'off'; //ECB不需要向量
break;
case 'cbc':
default:
$this- mode = MCRYPT_MODE_CBC;
}

switch (strtolower($iv)){
case "off":
$this- iv = null;
break;
case "auto":
$source = PHP_OS=='WINNT' ? MCRYPT_RAND : MCRYPT_DEV_RANDOM;
$this- iv = mcrypt_create_iv(mcrypt_get_block_size($this- mcrypt, $this- mode), $source);
break;
default:
$this- iv = $iv;
}


}


/**
* 獲取向量值
* @param string 向量值編碼(base64/hex/bin)
* @return string 向量值
*/
public function getIV($code = 'base64'){
switch ($code){
case 'base64':
$ret = base64_encode($this-
break;
case 'hex':
$ret = bin2hex($this-
break;
case 'bin':
default:
$ret = $this-
}
return $ret;
}


/**
* 加密
* @param string 明文
* @param string 密文編碼(base64/hex/bin)
* @return string 密文
*/
public function encrypt($str, $code = 'base64'){
if ($this- mcrypt == MCRYPT_DES) $str = $this- _pkcs5Pad($str);

if (isset($this- iv)) {
$result = mcrypt_encrypt($this- mcrypt, $this- key, $str, $this- mode, $this-
} else {
@$result = mcrypt_encrypt($this- mcrypt, $this- key, $str, $this- mode);
}

switch ($code){
case 'base64':
$ret = base64_encode($result);
break;
case 'hex':
$ret = bin2hex($result);
break;
case 'bin':
default:
$ret = $result;
}

return $ret;

}

/**
* 解密
* @param string 密文
* @param string 密文編碼(base64/hex/bin)
* @return string 明文
*/
public function decrypt($str, $code = "base64"){
$ret = false;

switch ($code){
case 'base64':
$str = base64_decode($str);
break;
case 'hex':
$str = $this- _hex2bin($str);
break;
case 'bin':
default:
}

if ($str !== false){
if (isset($this- iv)) {
$ret = mcrypt_decrypt($this- mcrypt, $this- key, $str, $this- mode, $this-
} else {
@$ret = mcrypt_decrypt($this- mcrypt, $this- key, $str, $this- mode);
}
if ($this- mcrypt == MCRYPT_DES) $ret = $this- _pkcs5Unpad($ret);
$ret = trim($ret);
}

return $ret;
}

private function _pkcs5Pad($text){
$this- blocksize = mcrypt_get_block_size($this- mcrypt, $this- mode);
$pad = $this- blocksize - (strlen($text) % $this- blocksize);
return $text . str_repeat(chr($pad), $pad);
}

private function _pkcs5Unpad($text){
$pad = ord($text{strlen($text) - 1});
if ($pad strlen($text)) return false;
if (strspn($text, chr($pad), strlen($text) - $pad) != $pad) return false;

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产拍在线观看| 精品久久久久久久大神国产| 色妞一区二区三区| 97精品国产91久久久久久| 久久久久久久999| 亚洲第一福利网站| 美女啪啪无遮挡免费久久网站| 国产精品九九久久久久久久| 国产精品福利无圣光在线一区| 国产精品吴梦梦| 国产综合色香蕉精品| 另类少妇人与禽zozz0性伦| 欧美电影免费观看高清| 久久婷婷国产麻豆91天堂| 成人黄色av网站| 91亚洲精品一区| 欧美性生交大片免网| 成人情趣片在线观看免费| 91精品国产自产在线老师啪| 不卡伊人av在线播放| 91高清视频在线免费观看| 欧美xxxx做受欧美.88| 亚洲999一在线观看www| 亚洲区中文字幕| 日韩有码在线视频| 久热精品在线视频| 日韩中文字幕免费视频| 午夜精品免费视频| 亚洲娇小xxxx欧美娇小| 国产丝袜视频一区| 成人国产精品av| 欧美成人激情图片网| 久久久久久久久久久成人| 欧美特级www| 日韩精品在线观看一区二区| 欧美一级在线亚洲天堂| 成人免费网站在线看| 欧美大尺度激情区在线播放| 奇米成人av国产一区二区三区| 操人视频在线观看欧美| 亚洲日韩中文字幕| 亚洲国产99精品国自产| 在线精品91av| 欧美一区二区三区艳史| 国产精品久久久久福利| 国产精品极品美女粉嫩高清在线| 成人综合国产精品| 国产一区二区三区视频| 日韩专区在线播放| 欧美老女人xx| 国内精品久久久久久久久| 欧美激情综合色| 久久99青青精品免费观看| 国产成人福利夜色影视| 久久久亚洲精选| xvideos亚洲人网站| 亚洲精品久久久久久久久久久久久| 97精品国产97久久久久久春色| 久久久精品在线| 成人国产精品色哟哟| 日韩精品亚洲精品| 在线成人免费网站| www.午夜精品| 久久久久这里只有精品| 亚洲欧美精品中文字幕在线| 欧美国产高跟鞋裸体秀xxxhd| 精品久久久久久中文字幕一区奶水| 成人网在线免费看| 欧美肥臀大乳一区二区免费视频| 中文字幕av一区中文字幕天堂| 国产精品久久久久久久久免费| 日韩精品视频在线播放| 久热精品在线视频| 国产精品高潮视频| 亚洲国产高清高潮精品美女| 国产精品热视频| 久久亚洲精品中文字幕冲田杏梨| 久久久噜噜噜久久中文字免| 亚洲视频一区二区| 一区二区三区视频观看| 一区二区三区在线播放欧美| 亚洲一区二区三区在线视频| 日本精品一区二区三区在线播放视频| 欧美一级片久久久久久久| 久久久精品国产一区二区| 国产国产精品人在线视| 欧美性猛交xxx| 国产精品啪视频| 欧美日韩亚洲一区二| xxxx欧美18另类的高清| 国产精品视频xxxx| 日韩精品极品毛片系列视频| 国产精品成人免费视频| 中文字幕日韩av综合精品| 中文字幕日韩欧美精品在线观看| 国产精品欧美激情| 欧美在线免费观看| 久久中文久久字幕| www.亚洲成人| 精品视频偷偷看在线观看| 亚洲精品国偷自产在线99热| 2020国产精品视频| xxx欧美精品| 欧美日韩国产一中文字不卡| 91精品国产自产在线观看永久| 亚洲一区二区三区xxx视频| 91av在线影院| 国产成人午夜视频网址| 亚洲国产欧美精品| 992tv成人免费视频| 疯狂蹂躏欧美一区二区精品| 午夜精品一区二区三区av| 中文字幕日韩免费视频| 国产亚洲精品激情久久| 欧美色欧美亚洲高清在线视频| 日韩电影中文字幕在线| 亚洲精品免费一区二区三区| 久久久999精品视频| 亚洲最大福利视频| 亚洲淫片在线视频| 日韩精品视频在线播放| 68精品国产免费久久久久久婷婷| 成人黄色免费网站在线观看| 亚洲性日韩精品一区二区| 亚洲福利在线看| 国产精品扒开腿做| 色噜噜狠狠狠综合曰曰曰| 欧美激情视频播放| 欧美日韩成人黄色| 国产一区二区精品丝袜| 日韩一区二区三区在线播放| 国产精品视频网| 久久夜色精品亚洲噜噜国产mv| 日韩电影中文字幕在线| 久久久午夜视频| 欧美巨乳美女视频| 久久久人成影片一区二区三区观看| 精品国产一区二区三区久久久| 国产成人综合精品在线| 成人福利网站在线观看11| 国产一区视频在线| 国产精品三级在线| 欧美精品久久久久久久久| 欧美一区二区三区免费观看| 亚洲国产精品一区二区久| 久久久天堂国产精品女人| 亚洲性视频网站| 91日韩在线视频| 欧美黄网免费在线观看| 欧美日韩亚洲高清| 久久久中精品2020中文| 两个人的视频www国产精品| 成人黄在线观看| 91高清免费在线观看| 中文字幕免费国产精品| 国产精品久久久久久久久久久久久久| 日韩成人在线网站| 在线性视频日韩欧美| 国产精品视频大全| 欧美日韩午夜激情| 成人免费视频97| 亚洲最大的成人网| 欧美日韩国产精品一区二区三区四区| 日本一区二区在线播放|