海运的博客

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

评论已关闭

分类
最新文章
最近回复
  • jiangker: good, very helpful to me
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
  • 海运: 关闭服务器
  • 海风: override.battery.charge.low以及override.battery.r...
  • koldjf: 不能过滤
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏
  • 海运: ups不知有没选项可设置此参数,不过你可以在另外一台电脑上安装nut客户端自动关机。
  • kgami: 想请教一下,设置了的电脑自动关机之后,几秒后UPS怎么也跟着关机了,导致另外一台电脑没关机就断...
  • 海运: 写的很详细了啊,/etc/nut/hosts.conf用以nut-cgi连接nut服务器参数,...