[TOC]
1.字符串
```
/**
* 加密数据方法
* @param String $data
* @return String
*/
function encryptData($data)
{
if (empty($data)) return $data;
$length = strlen($data);
$middle = (int)ceil($length/2);
$repalcePos = 9;
$step = (int)ceil($length*(1/4));
//每多少个替换一次
for($i = 0;$i<$length;$i=$i+$step){
$temp = $data[($i+$repalcePos)%$length];
//每次跟哪个替换
$data[($i+$repalcePos)%$length] = $data[$i];
$data[$i] = $temp;
}
$part1 = substr($data,0,$middle);
$part2 = substr($data,$middle);
$data = strrev($part2).strrev($part1);
return $data;
}
/**
* 解密数据方法
* @param String $data
* @return String
*/
function decryptData($data)
{
if (empty($data)) return $data;
$length = strlen($data);
$middle = (int)ceil($length/2);
$part1 = substr($data,0,$middle);
$part2 = substr($data,$middle);
$data = strrev($part2).strrev($part1);
$repalcePos = 9;
//每多少个替换一次
$step = (int)ceil($length*(1/4));
$startPos = $length-1-(($length-1)%$step);
for($i =$startPos;$i>=0;$i=$i-$step){
$temp = $data[($i+$repalcePos)%$length];
//每次跟哪个替换
$data[($i+$repalcePos)%$length] = $data[$i];
$data[$i] = $temp;
}
return $data;
}
```