简介:这是php 字符串加密的详细页面,介绍了和php,有关的知识、技巧、经验,和一些php源码等。
class='pingjiaF' frameborder='0' src='http://biancheng.dnbcw.info/pingjia.php?id=341726' scrolling='no'><?php
//字符串加密函数针对UTF8字符串
function StrEncryptR4($str_text,$str_passwd,$enlevel=4){
if($str_text=='' || $str_passwd=='') return $str_text;
if($enlevel<=0) $enlevel = 1;
$text = '';
$stlen = strlen($str_text);
$splen = strlen($str_passwd);
for($i=0;$i<$enlevel;$i++){
for($j=0;$j<$stlen;$j++){
$text .= chr(ord(substr($str_text,$j,1)) ^ ord(substr($str_passwd,($j % $splen),1)));
}
}
$ai_encryptbox = array();
for($i=0;$i<256;$i++){
$ai_encryptbox[] = array($i,ord(substr($str_passwd,($i % $splen),1)));
}
$j = 0;
$m = 0;
for($i=0;$i<256;$i++){
$j = ($j + $ai_encryptbox[$i][0] + $ai_encryptbox[$i][1]) % 256;
$m = $ai_encryptbox[$i][0];
$ai_encryptbox[$i][0] = $ai_encryptbox[$j][0];
$ai_encryptbox[$j][0] = $m;
}
$j = 0;
$m = 0;
$n = 0;
$str_text = $text;
$text = '';
for($i=0;$i<$stlen;$i++){
$j = ($j + 1) % 256;
$m = ($m + $ai_encryptbox[$j][0]) % 256;
$n = $ai_encryptbox[($ai_encryptbox[$j][0] + $ai_encryptbox[$m][0]) % 256][0];
//$c = dechex(ord(substr($str_text,$i,1)) ^ $n);
//$text .= strlen($c)==1 ? '0'.$c : $c;
$text .= chr(ord(substr($str_text,$i,1)) ^ $n);
}
return base64_encode($text);
}
function StrDecryptR4 ($str_text,$str_passwd,$enlevel = 4){
}
//end of file
来源:https://www.cnblogs.com/ooooo/archive/2011/11/10/2243904.html