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

利用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://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)站
婷婷激情综合亚洲五月色| 亚洲欧美中文字幕乱码| 粉嫩一区二区三区在线| 欧美日本精品在线观看| 欧美色欧美亚洲另类视频| 亚洲一区二区三区熟女少妇 | 欧美亚洲精品二区久久久| 日本欧美激情在线观看| 亚洲男女内射在线视频| 亚洲精品av在线网站| 日韩美女毛片啪啪响| 国产在线拍揄自揄视频不卡99 | 中文字幕乱码亚洲2019| 中文字幕人妻熟人妻熟丝| 色吊最新在线视频免费观看| 精品人妻aⅴ一区二区| 妇女人妻丰满少妇中文字幕| 中文字幕日韩不卡顿一区二区| 亚洲精品在线免费av| 日本和亚洲的香蕉视频| 亚洲午夜精品日韩乱码| 亚洲国产色一区二区三区| 天天操夜夜操夜夜操| 欧美一区二区三区久久束缚| 日韩不卡在线观看免费| 日韩欧美国产综合第一页| 韩国成人伦理片在线观看| 欧美一区二区三区蜜桃| 成人黄色动漫在线播放| 日本一道本不卡一区二区| 欧美黄色影院在线观看| 欧美福利免费在线视频| 午夜影院网站在线看黄| 亚洲国产韩国精品在线| 青青草免费在线播放视频网站| 日韩精品一区免费电影 | 亚洲综合国产一区二区| 91久久精品中文字幕| 国产三级无遮挡在线观看| 欧美偷拍一区二区三区| 国产精品免费视频能看的|