Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux编程 > » 正文

php 字符串加密

来源: 未知 分享至:
<?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

Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史