一个PHP写的字符串混淆类~~^^

王朝php·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

上个礼拜和一个同事一起做个项目,我有一个字符串要传给他,考虑到安全问题,决定混淆一下再传,所以临时写了这个混淆字符串的类。同事原本用C#写好了个类似的,我在原有基础上改写成了PHP的 ^^

下载地址 http://phpjoe.512j.com/disarrange_class.rar

在此要感谢 Arron Wong ^^

<?

//////////////////////////////////////////////////////////////////////////////////////////////////////

//

// Programmed by Verne Joe on 2005-01-15.

// Thankfulness to Arron Wong. He told me the arithmetic ^^

//

//////////////////////////////////////////////////////////////////////////////////////////////////////

class disarrange{

var $arr;

//constructed function and turn string into array

function disarrange($str){

$string = preg_replace("/(.{1})/", "\1,",$str);

$this->arr = explode(",", substr($string, 0,-1));

}

//function for encrypting

function encrypt(){

$arr = $this->MakeIntArray($this->arr);

for($i=0;$i<count($this->arr);$i++){

$ch = $this->arr[$i];

$this->arr[$i] = $this->arr[$arr[$i]];

$this->arr[$arr[$i]] = $ch;

}

return $this->revertToString($this->arr);

}

//function for decrypting

function decrypt(){

$arr = $this->MakeIntArray($this->arr);

for($i=count($this->arr)-1;$i>=0;$i--){

$ch = $this->arr[$i];

$this->arr[$i] = $this->arr[$arr[$i]];

$this->arr[$arr[$i]] = $ch;

}

return $this->revertToString($this->arr);

}

function MakeIntArray($arr){

$confuse = new PseudoRandomizer(count($arr) * count($arr), count($arr));

for($i=0;$i<count($arr);$i++){

$arr[$i] = $confuse->Generate();

}

return $arr;

}

//revert array to string

function revertToString($arr){

$string = "";

foreach ($arr as $str)

$string.= $str;

return $string;

}

}

class PseudoRandomizer{

var $seed;

var $max;

function PseudoRandomizer($seed,$max){

$this->seed = $seed;

$this->max = $max;

}

function Generate(){

$newseed = ($this->seed * (3719/2)) + 3719;

$newseed = $newseed % 65535;

$this->seed = $newseed;

return $this->seed % $this->max;

}

}

?>

?

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航