易语言PHP加密源码

资源介绍:

例程程序置入汇编代码,调用API函数实现易语言与PHP通讯加密协议。

<?PHP session_start(); ini_set("display_errors", 0); $MsgKey = 'www.hyun8.com';//通讯秘钥 if(substr($_POST['Data'],0,12)=='GET_Temp_Key'){ // 获取临时的加密钥匙 $_SESSION[Temp_Key]=Temp_Key();//生产随机钥匙 写到SESSION里面 SESSION不懂可以百度搜索下 exit(ByteHex(ARSC($_SESSION[Temp_Key],$MsgKey))); //返回临时钥匙 将钥匙加密 } $temp = ARSC(HEXByte($_POST['Data']),$_SESSION[Temp_Key]);//使用SESSION里面临时钥匙解密 $temp = explode('|',$temp);//吧已解密的数据分割成数组 $_SESSION[Temp_Key]=md5($_SESSION[Temp_Key]);//将临时钥匙md5一次防止抓包截获重复利用并写到SESSION里面 if ($temp[0] == "Login") { // 判断第一个数组 if ($temp[1] == "Username" and $temp[2]=="Password") { //判断账号密码是否正确 exit(ByteHex(ARSC("login,ok",$_SESSION[Temp_Key])));//使用md5以后的临时钥匙加密数据 且返回加密数据 } exit(ByteHex(ARSC("login,no",$_SESSION[Temp_Key])));//使用md5以后的临时钥匙加密数据 且返回加密数据 //因为正在重写中 部分代码未完善 敬请期待 后续更新 已实现动态加密 防止截获数据重复提交 } function HEXByte($s){ $r = ""; for ( $i = 0; $i<strlen($s); $i += 2) { $x1 = ord($s{$i}); $x1 = ($x1>=48 && $x1<58) ? $x1-48 : $x1-97+10; $x2 = ord($s{$i+1}); $x2 = ($x2>=48 && $x2<58) ? $x2-48 : $x2-97+10; $r .= chr((($x1 << 4) & 0xf0) | ($x2 & 0x0f)); } return $r; } function ByteHex($s) { $r = ""; $hexes = array ("0","1","2","3","4","5","6","7","8","9","a","b","c","d","e","f"); for ($i=0; $i<strlen($s); $i++) {$r .= ($hexes [(ord($s{$i}) >> 4)] . $hexes [(ord($s{$i}) & 0xf)]);} return $r; } function ARSC($data,$keys) { $key[] =""; $box[] =""; $pwd_length = strlen($keys); $data_length = strlen($data); for ($i = 0; $i < 256; $i++) { $key[$i] = ord($keys[$i % $pwd_length]); $box[$i] = $i; } for ($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $key[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for ($a = $j = $i = 0; $i < $data_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $k = $box[(($box[$a] + $box[$j]) % 256)]; $cipher .= chr(ord($data[$i]) ^ $k); } return $cipher; } function Temp_Key(){ if (function_exists('com_create_guid')){ return com_create_guid(); }else{ mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up. $charid = strtoupper(md5(uniqid(rand(), true))); $hyphen = chr(45);// "-" $uuid = chr(123)// "{" .substr($charid, 0, 8).$hyphen .substr($charid, 8, 4).$hyphen .substr($charid,12, 4).$hyphen .substr($charid,16, 4).$hyphen .substr($charid,20,12) .chr(125);// "}" return $uuid; } } ?>

资源作者:

资源图片:

易语言PHP加密源码.png    

资源下载:

相关文件下载地址
©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!

易语言PHP加密源码》有0个想法

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注