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

利用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)站
亚洲国产中日韩精品综合| 国产爆操美女在线观看| 国产欧美色日韩综合在线| 超碰91人人在线青青草| 国产精品一区二区黑人巨大| 日韩黄色大片免费在线观看| 亚洲福利一区二区三区| 韩国福利短片在线观看| 亚洲国产日韩在线精品| 亚洲成人av在线播放观看| 亚洲精品尤物福利在线一区| 国产三级精品在线免费| 人人妻人人澡人人爽老妇| 国产H精品在线观看| 日韩成人三级一区二区| 国产亚洲精品一区二区三在线观看 | 中文字幕人妻丝袜一区一三区 | 日韩三级一区二区三区| 欧美一区二区亚洲天堂| 蜜桃成人一区二区三区| 日韩激情一区二区三区| 精品一区二区三区在线观看国产| 播放欧美日韩特黄大片| 国产网爆热门精品一区二区| 亚洲综合av婷婷激情| 日本特黄特色大片免费| 韩日av一区二区三区| 91观看免费完整版高清| 日本国产一区二区在线观看| 91精品手机在线观看| 色日韩在线观看视频| 亚欧成人永久免费视频| 日韩精品色av一区二区 | 亚洲国际精品女人乱码| 日本加勒比中文在线观看| 欧美视频在线免费观看黄片| 亚洲午夜福利影院在线免费观看 | 国产在线自拍一区二区| 热99精品视频在线观看| 精品人妻二区中文字幕| 求个手机免费在线观看av网址|