当前位置: 首页>>代码示例>>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;未经允许,请勿转载。