當前位置: 首頁>>代碼示例>>PHP>>正文


PHP Func::safe_b64encode方法代碼示例

本文整理匯總了PHP中Func::safe_b64encode方法的典型用法代碼示例。如果您正苦於以下問題:PHP Func::safe_b64encode方法的具體用法?PHP Func::safe_b64encode怎麽用?PHP Func::safe_b64encode使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在Func的用法示例。


在下文中一共展示了Func::safe_b64encode方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。

示例1: edcode

 /**
  * 加密or解密,來自互聯網,類似discuz傳遞信息
  * <code>
  * echo $str=edcode('1371817454','ENCODE','1');
  * echo edcode('XbfSC2GOpSTtwHwOIDW7Fg','DECODE','2000558');
  * </code>
  * @param string $string 密文
  * @param string $operation 操作類型 DECODE | DECODE
  * @param string $key 加密密鑰
  * @return string
  */
 public static function edcode($string, $operation, $key = 'ePHP')
 {
     //ENCODE
     $key_length = strlen($key);
     $string = $operation == 'DECODE' ? Func::safe_b64decode($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]);
     }
     //DECODE
     if ($operation == 'DECODE') {
         if (substr($result, 0, 8) == substr(md5(substr($result, 8) . $key), 0, 8)) {
             return substr($result, 8);
         } else {
             return '';
         }
     } else {
         return str_replace('=', '', Func::safe_b64encode($result));
     }
 }
開發者ID:beyondzgz,項目名稱:mophp,代碼行數:48,代碼來源:Encrypt.class.php


注:本文中的Func::safe_b64encode方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。