海运的博客

PHP异或加密解密

发布时间:December 23, 2013 // 分类:PHP // No Comments

对于安全性要求不高的情况下足够用了,性能从高到低的两种实现:

<?php
   function xor_enc($string, $operation, $key = 'abcdf') {
      $string = $operation == 'ENCODE' ? $string : base64_decode($string);
      $len1 = strlen($string);
      $len2 = strlen($key);
      if($len1 > $len2) $key = str_repeat($key, ceil($len1 / $len2));
      $string = $operation == 'ENCODE' ? base64_encode($string ^ $key) : $string ^ $key;
      return $string;
   }
?>
   function xor_enc($string, $operation = 'ENCODE', $key = 'abcd') {
      $txt = $operation == 'ENCODE' ? $string : base64_decode($string);
      $len = strlen($key);
      $code = '';
      for ($i = 0; $i < strlen($string); $i ++) {
         $k = $i % $len;
         $code .= $string [$i] ^ $key [$k];
      }
      $code = $operation == 'ENCODE' ? base64_encode($code) : $code;
      return $code;
   }

标签:none

发表评论

分类
最新文章
最近回复
  • 404NTF: 交叉编译的作用是?
  • 404NTF: 请教一下 CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go ...
  • 小智: 安利个PHP开发以太坊区块链的教程: http://xc.hubwiz.com/course/...
  • 陈浩南: 您好,您教程中的 dev.openwrt.org.cn 现在似乎不可用了。请问现在应该在哪里下...
  • 斑马斑马: 怎么查看虚拟机CPU 内存使用情况
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
页面执行耗时:0.0427秒。-->