国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

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

php中常用的加密解密算法的講解(代碼)

2020-03-22 17:32:50
字體:
來源:轉載
供稿:網友
本篇文章給大家帶來的內容是關于php中常用的加密解密算法的講解(代碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

這里主要介紹三種常用的加密解密算法:
方法一:

/** * @param $string 要加密/解密的字符串 * @param string $operation 類型,ENCODE 加密;DECODE 解密 * @param string $key 密匙 * @param int $expiry 有效期 * @return stringfunction authcode($string, $operation = DECODE , $key = encrypt , $expiry = 0) // 動態密匙長度,相同的明文會生成不同密文就是依靠動態密匙 $ckey_length = 4; // 密匙 $key = md5($key ? $key : $GLOBALS[ discuz_auth_key  // 密匙a會參與加解密 $keya = md5(substr($key, 0, 16)); // 密匙b會用來做數據完整性驗證 $keyb = md5(substr($key, 16, 16)); // 密匙c用于變化生成的密文 $keyc = $ckey_length ? ($operation == DECODE ? substr($string, 0, $ckey_length) : substr(md5(microtime()), -$ckey_length)) :  // 參與運算的密匙 $cryptkey = $keya . md5($keya . $keyc); $key_length = strlen($cryptkey); // 明文,前10位用來保存時間戳,解密時驗證數據有效性,10到26位用來保存$keyb(密匙b), //解密時會通過這個密匙驗證數據完整性 // 如果是解碼的話,會從第$ckey_length位開始,因為密文前$ckey_length位保存 動態密匙,以保證解密正確 $string = $operation == DECODE ? base64_decode(substr($string, $ckey_length)) : sprintf( %010d , $expiry ? $expiry + time() : 0) . substr(md5($string . $keyb), 0, 16) . $string; $string_length = strlen($string); $result =  $box = range(0, 255); $rndkey = array(); // 產生密匙簿 for ($i = 0; $i = 255; $i++) { $rndkey[$i] = ord($cryptkey[$i % $key_length]); // 用固定的算法,打亂密匙簿,增加隨機性,好像很復雜,實際上對并不會增加密文的強度 for ($j = $i = 0; $i 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; // 核心加解密部分 for ($a = $j = $i = 0; $i $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; // 從密匙簿得出密匙進行異或,再轉成字符 $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); if ($operation == DECODE ) { // 驗證數據有效性,請看未加密明文的格式 if ((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() 0)  substr($result, 10, 16) == substr(md5(substr($result, 26) . $keyb), 0, 16) return substr($result, 26); } else { return  } else { // 把動態密匙保存在密文里,這也是為什么同樣的明文,生產不同密文后能解密的原因 // 因為加密后的密文可能是一些特殊字符,復制過程可能會丟失,所以用base64編碼 return $keyc . str_replace( = , , base64_encode($result));}

使用:

$string = 加密字符串 // 加密$encode = authcode($string, ENCODE echo $encode . /br // a2f4bSYyUrTum1nAAA9X9BrC4Z3DZazcSa4eLcvDoCnmYc1LTdvtqS4aCds// 解密$decode = authcode($encode, DECODE echo $decode; // 加密字符串

方法二:

/** * @param $string 要加密/解密的字符串 * @param $operation 類型,E 加密;D 解密 * @param string $key 密鑰 * @return mixed|stringfunction encrypt($string, $operation, $key = encrypt ) $key = md5($key); $key_length = strlen($key); $string = $operation == D ? base64_decode($string) : substr(md5($string . $key), 0, 8) . $string; $string_length = strlen($string); $rndkey = $box = array(); $result =  for ($i = 0; $i = 255; $i++) { $rndkey[$i] = ord($key[$i % $key_length]); $box[$i] = $i; for ($j = $i = 0; $i 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; for ($a = $j = $i = 0; $i $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); if ($operation == D ) { if (substr($result, 0, 8) == substr(md5(substr($result, 8) . $key), 0, 8)) { return substr($result, 8); } else { return  } else { return str_replace( = , , base64_encode($result));}

使用:

$string = 加密字符串 // 加密$encode = encrypt($string, E echo $encode . /br // 0Jzym5UzkRKH726U7Pyt7ixzLz9YEEA// 解密$decode = encrypt($encode, D echo $decode; // 加密字符串

方法三:

/** * @param $data 要加密的字符串 * @param $key 密鑰 * @return stringfunction encrypt($data, $key = encrypt ) $key = md5($key); $x = 0; $len = strlen($data); $l = strlen($key); $char =  for ($i = 0; $i $len; $i++) { if ($x == $l) { $x = 0; $char .= $key{$x}; $x++; $str =  for ($i = 0; $i $len; $i++) { $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); return base64_encode($str);
for ($i = 0; $i $len; $i++) { if (ord(substr($data, $i, 1)) ord(substr($char, $i, 1))) { $str .= chr((ord(substr($data, $i, 1)) + 256) - ord(substr($char, $i, 1))); } else { $str .= chr(ord(substr($data, $i, 1)) - ord(substr($char, $i, 1))); return $str;}

使用:

$string = 加密字符串 // 加密$encode = encrypt($string);echo $encode . /br // Gr0DHeHrRw7KGBLcSOzj// 解密$decode = decrypt($encode);echo $decode; // 加密字符串

以上就是php中常用的加密解密算法的講解(代碼)的詳細內容,PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
中文字幕有码在线视频| 亚洲午夜久久久久中文字幕| 亚洲国产精品区| 国产日本在线视频| 国产jizz| 日本视频二区| 国产自产视频| 国产视频三区| 在线色视频网| 开心婷婷激情五月| 国产一二三视频| 精灵使的剑舞无删减版在线观看| 在线一区二区三区精品| 日本视频在线观看一区二区三区| av男人的天堂网| 黄色三级视频在线观看| 国产精品入口麻豆免费| 在线观看的av网站| 国产一区二区影视| 伊人伊人av电影| 国产一区电影| 波多野结衣久久高清免费| 国产鲁鲁视频在线观看特色| 国产私拍精品| 交换国产精品视频一区| 国产经典av| 国产乱视频在线观看| 91视频久色| 国产在线www| 国产精品18久久久久久久久久| 操操操综合网| 伊人免费在线| 国产超碰在线| 国产特级嫩嫩嫩bbb| www.狠狠| 亚洲成年人视频| 国产高清免费在线播放| 欧美精品se| www.久草.com| 在线国产一级| 四虎成年永久免费网站| 午夜不卡视频| 成人超碰在线| 国产毛片视频| 男人天堂v视频| 白浆爆出在线观看| 欧美精品小视频| 久久99精品久久久久久野外| jizz在线视频| 超碰国产在线| 最新黄网在线观看| 国产嫩草在线视频| 午夜免费福利在线观看| 99视频资源网| 18成年在线观看| 依依成人在线| 欧美日韩**字幕一区| 国产中文字幕在线视频| 中文字幕久热在线精品| 国产日产一区二区| 在线中文视频| 人人干在线视频| 中文字幕在线视频观看| 国产人成在线视频| 精精国产xxxx视频在线| yjizz视频网站在线播放| 牛牛热在线视频| 午夜av在线免费观看| 国产精品99999| 欧美日韩国产亚洲沙发| 国产在线播放av| 国产porn在线| 欧美日韩在线视频免费观看| 国产亚洲精品一区二区在线观看| 国产情侣高潮对白| 在线视频福利| 国产精品被窝福利一区| 亚洲成人福利| 国产网红女主播精品视频| 999精品网| 九七电影韩国女主播在线观看| 国产麻豆视频| 在线国产网址| 国产私拍精品| 久久久久久久美女| 中文字幕av高清在线观看| 国产在线高潮| www.狠狠| 在线免费观看黄色片| 最近中文字幕在线中文视频 | 亚洲视频在线观看不卡| 国产精品一卡二卡三卡| 一级二级在线观看| 国产黄色在线观看| 国产丝袜视频在线播放| 国产专区在线| 久久综合精品视频| 日本黄在线观看| 性国产高清在线观看| 国产激情视频网址| 国产日本韩国在线播放| 精品中文字幕不卡在线视频| 青青在线视频| 成视频年人免费看黄网站| 青草在线视频在线观看| 超碰97在线免费观看| 青青草原国产在线| 免费在线超碰| 超碰在线观看免费版| 导航福利在线| 国产一级激情| 精品麻豆视频| 夜夜操天天干| 免费看黄视频网站| 成在线人视频免费视频| 国产污视频在线| 国产一二三视频| 精品一二三区视频| 性网站在线看| www.三级.com| 快射av在线播放一区| 国产三级在线观看| 国产一二三视频| 国产一级粉嫩xxxx| 国产视频1区| 精品国产白色丝袜高跟鞋| 在线三级中文| 国产免费a∨片在线观看不卡| 国产免费专区| 中文字幕在线视频网| 国产黄在线播放| 国产精品蜜臀| аⅴ成人天堂中文在线| 国产鲁鲁视频在线观看特色| 国产三级视频在线| 四虎成人免费| 天天操天天是| av网站大全在线观看| 国产资源在线看| 亚洲国产aⅴ精品| 中文字幕视频在线免费| h网站免费在线观看| 99视频在线观看地址| 色综合久久五月天| 国产日本视频| 黄色电影网站在线观看| 国产无套粉嫩白浆在线2022年| 在线免费观看污| 午夜视频在线| 久热国产在线视频| 影音av资源站| 91在线网址| 国产羞羞视频在线播放| 青青久草在线| 在线中文视频| 国产精品久久久精品a级小说| 久热国产在线| 另类综合图区| 本道综合精品| 香蕉视频网站在线播放| 精品全国在线一区二区| 牛牛热在线视频| www免费在线观看视频| 中文乱码字幕高清在线观看| 国产三级在线| 国产精品久久一区二区三区不卡| 国产在线传媒| 五月婷婷开心综合| 尤物网在线观看| 国产精选在线视频拍拍拍| www.91在线播放| 青青草在线免费观看| а√天堂www在线а√天堂视频| 亚洲天堂久久久| 亚洲精品少妇久久久久久| 四虎www视频| 91www在线观看| 99热国产在线| av手机免费在线观看| eeuss影院www在线观看| 中文字幕av免费| 羞羞视频在线免费看| 青青草视频在线免费观看| 九色视频网站| 精灵使的剑舞无删减版在线观看| 69久久精品| 欧美日韩亚洲第一页| 免费a级毛片在线播放| 男人天堂v视频| 国产色视频网站| 在线免费黄色毛片| 亚洲综合在线网| 免费三级毛片| 国产成人精品实拍在线| 精品麻豆视频| 国产免费黄网站| 亚洲欧美精品中文第三| 国产理论在线观看| av中文天堂在线| 国产一起色一起爱|