海运的博客

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

评论已关闭

分类
最新文章
最近回复
  • 海运: 正常情况下编译整个内核执行make menuconfig后就不会出现此提示,当单独编译单个模块...
  • oijq: 就是用的armbian的配置文件哈,按你的教程做的,在执行make LOCALVERSION=...
  • 海运: 使用armbian的配置文件,其它添加或修改自己懂的部分,不懂的就不要碰了。
  • oijq: 编译时这些选项全部选Y吗?Actions Semi Platforms (ARCH_ACTIO...
  • 海运: n1编译bbr内核模块参考这个:https://www.haiyun.me/archives/...
  • jiqz: make M=net/ipv4/ CONFIG_TCP_CONG_BBR=m modules编...
  • ruralhunter: 哦,文档里应该是对的,是.config
  • ruralhunter: cp /mnt/boot/config-4.18.7-aml-s9xxx .config这里应...
  • 海运: 你是编译不成功呢?还是编译后不能运行呢?还是运行后不能访问web界面呢?
  • 白墨: 可能不清楚就是编译安装后启动后访问不了web界面