php 字符串加密

简介:这是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

爱J2EE关注Java迈克尔杰克逊视频站JSON在线工具

http://biancheng.dnbcw.info/php/341726.html pageNo:6
原文地址:https://www.cnblogs.com/ooooo/p/2243904.html