2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php加解密易语言源码 易语言PHP加密源码

php加解密易语言源码 易语言PHP加密源码

时间:2022-12-04 17:29:49

相关推荐

php加解密易语言源码 易语言PHP加密源码

资源介绍:

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

session_start();

ini_set("display_errors", 0);

$MsgKey = '';//通讯秘钥

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

{

$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> 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;

}

}

?>

资源作者:

@三叶自学网

资源图片:

资源下载:

文件下载

解压密码:

来源:三叶资源网,欢迎分享,公众号:iisanye,(三叶资源网⑤群:21414575)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。