欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

利用php怎么對字符串進(jìn)行加密解密-創(chuàng)新互聯(lián)

這期內(nèi)容當(dāng)中小編將會給大家?guī)碛嘘P(guān)利用php怎么對字符串進(jìn)行加密解密,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創(chuàng)新互聯(lián)公司-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、成都移動機(jī)房、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),服務(wù)熱線:18980820575
function authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) { 

  // 動態(tài)密匙長度,相同的明文會生成不同密文就是依靠動態(tài)密匙 

  $ckey_length = 4; 

  // 密匙 

  $key = md5($key ? $key : $GLOBALS['discuz_auth_key']);  

  // 密匙a會參與加解密 

  $keya = md5(substr($key, 0, 16)); 

  // 密匙b會用來做數(shù)據(jù)完整性驗(yàn)證 

  $keyb = md5(substr($key, 16, 16)); 

  // 密匙c用于變化生成的密文 

  $keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): 

 substr(md5(microtime()), -$ckey_length)) : ''; 

  // 參與運(yùn)算的密匙 

  $cryptkey = $keya.md5($keya.$keyc); 

  $key_length = strlen($cryptkey); 

  // 明文,前10位用來保存時間戳,解密時驗(yàn)證數(shù)據(jù)有效性,10到26位用來保存$keyb(密匙b), 

 //解密時會通過這個密匙驗(yàn)證數(shù)據(jù)完整性 

  // 如果是解碼的話,會從第$ckey_length位開始,因?yàn)槊芪那?ckey_length位保存 動態(tài)密匙,以保證解密正確 

  $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(); 

  // 產(chǎn)生密匙簿 

  for($i = 0; $i <= 255; $i++) { 

   $rndkey[$i] = ord($cryptkey[$i % $key_length]); 

  } 

  // 用固定的算法,打亂密匙簿,增加隨機(jī)性,好像很復(fù)雜,實(shí)際上對并不會增加密文的強(qiáng)度 

  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; 

   // 從密匙簿得出密匙進(jìn)行異或,再轉(zhuǎn)成字符 

   $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); 
  } 

  if($operation == 'DECODE') { 

   // 驗(yàn)證數(shù)據(jù)有效性,請看未加密明文的格式 

   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 { 

   // 把動態(tài)密匙保存在密文里,這也是為什么同樣的明文,生產(chǎn)不同密文后能解密的原因 

   // 因?yàn)榧用芎蟮拿芪目赡苁且恍┨厥庾址?,?fù)制過程可能會丟失,所以用base64編碼 

   return $keyc.str_replace('=', '', base64_encode($result)); 

  } 

 }

上述就是小編為大家分享的利用php怎么對字符串進(jìn)行加密解密了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱:利用php怎么對字符串進(jìn)行加密解密-創(chuàng)新互聯(lián)
URL地址:http://www.aaarwkj.com/article46/dpijhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司網(wǎng)站內(nèi)鏈、網(wǎng)站策劃、網(wǎng)站改版、企業(yè)網(wǎng)站制作企業(yè)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站
欧美一区二区三区东京热| 国产亚洲精品视频中文字幕| 粉嫩护士国产在线观看| 91深夜在线免费观看| 色婷婷久久五月中文字幕| 亚洲av毛片在线免费播放| 91在线播放欧美国产视频| 午夜未满十八禁止观看| 中文日本强暴人妻另类视频| 亚洲欧美日韩精品区| 久久免费少妇高潮99精品| 香蕉视频欧美日韩国产| 久久精品无人区乱码一区二区| 成人av资源在线观看| 91久久亚洲综合精品日本| 日韩商清av毛片网站| 在线精品91国产在线观看| 国产黄片a三级久久久久久| 亚洲一区日本一区二区| 国产精品妇女一二三区| 亚洲天堂成人综合在线| 亚洲三区久久婷婷激情| 精品国产av一区二区麻豆| 日韩一级黄色片在线播放| 自拍偷拍亚洲精品第一页| 97久久精品亚洲中文字幕| 亚洲国产天堂久久综合| 久久热最新免费观看视频| 欧美 日本国产一区| 日本一区二区电影在线看| 蜜桃免费观看在线视频| 女人的天堂啪啪啪av| 首页亚洲一区二区三区| 国产情侣自拍视频在线观看| 偷拍一区二区三区四区| 国产日韩欧美亚洲中文| 欧美日韩久久免费观看| 亚洲一二三区精品与老人| 海角社区av在线播放| 国产成av人片乱码色午夜 | 成人黄色动作片在线观看|