• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP数组加密解密算法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

数组加密解密算法,在这里我用来加密cookie。

功能:1、可以对数组进行加密,自己可设置加密种子,并生成随机数字和数组生成的字符串混合加密。最后生成加密后的字符串。

        2、逆向解密加密后的字符串。

优点:加密后生成的字符串也是随机的,每次都不同。

  • 一、算法:
class _setcookie{
	//加密函数(参数:数组,返回值:字符串)
	public static $key_t = "sjiofssdsfd";//设置加密种子
	public static function encrypt($cookie_array){
		$txt = serialize($cookie_array);
		srand();//生成随机数
		$encrypt_key = md5(rand(0,10000));//从0到10000取一个随机数
		$ctr = 0;
		$tmp = '';
		for($i = 0;$i < strlen($txt);$i++){
			$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
			$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]);
		}
		return base64_encode(_setcookie::key($tmp,_setcookie::$key_t));
	}
	
	//解密函数(参数:字符串,返回值:数组)
	public static function decrypt($txt){
		$txt = _setcookie::key(base64_decode($txt), _setcookie::$key_t);
		$tmp = '';
		for($i = 0;$i < strlen($txt); $i++) {
			$md5 = $txt[$i];
			$tmp .= $txt[++$i] ^ $md5;
		}
		$tmp_t = unserialize($tmp);
		return $tmp_t;
	}
	
	public static function key($txt,$encrypt_key){
		$encrypt_key = md5($encrypt_key);
		$ctr = 0;
		$tmp = '';
		for($i = 0; $i < strlen($txt); $i++) {
			$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr;
			$tmp .= $txt[$i] ^ $encrypt_key[$ctr++];
		}
		return $tmp;
	}
}
  • 二、测试:
$test=array(
		"realname" => "小明",
		"username" => "xiaoming",
		"groupid" => "1",
		"password" => "a23bsdfsdfsdf",
		"lastlogindate"=> "2013-11-01",
		"lastloginIP" => "10.1.1.159"
		);
$en_a=_setcookie::encrypt($test);
//打印加密后的字符串 echo $en_a; echo "<br/>";
$test_base64 = base64_decode($en_a);
//打印用base64解密后的字符串,测试用 echo $test_base64; echo "<br/>"; $de_a=_setcookie::decrypt($en_a);
//打印解密后的字符串 print_r($de_a);

  

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
FastDFSphpAPI发布时间:2022-07-10
下一篇:
PHP+mysql数据库简单分页实例-sql分页发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap