网站首页 > 易语言相关 > 网络相关源码 正文
资源介绍:
例程程序置入汇编代码,调用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; } } ?>
资源作者:
@三叶自学网
资源图片:
资源下载:
- 上一篇: Access转Sqlite数据库源码
- 下一篇: QQ注册易语言源码
猜你喜欢
- 2024-04-07 最新NT框架可用QQ群验证
- 2024-03-21 蓝奏云直链解析纯协议源码
- 2024-03-20 基于E2EE的无状态认证JsonWebToken算法、常用Web算法模块
- 2024-03-18 YoLo8本地cpu识别源码
- 2024-03-16 搜索引擎 下拉关键词例子 支持百d\搜狗\必应\搜狗手机版
- 2024-03-15 ZIP解压缩模块源码
- 2024-03-12 tgp登陆打开游戏源码
- 2024-03-12 抖音弹幕wss协议源码
- 2024-03-11 静默快捷取全部已登录QQ账号、httpkey、cookie、群验证等
- 2024-03-08 TG API 发消息与图片
你 发表评论:
欢迎- 百度站内搜索
- 关注微信公众号
- 网站分类
-
- 网站公告
- 电子书书籍
- 程序员工具箱
- 编程工具
- 易语言相关
- 网络相关源码
- 图形图像源码
- 系统工具源码
- 易语言模块源码
- 易语言支持库
- 数据库类源码
- 易语言例程
- 易语言游戏开发
- 易语言模块
- 多媒体类源码
- 易语言资源网
- 易语言视频教程
- JS分析教程
- 易语言图文教程
- 易语言常见问题及笔记
- 工具源码
- 易语言版本
- 网络编程
- javascript
- PHP编程
- html
- 正则表达式
- 面试题
- nodejs
- 其它综合
- 脚本专栏
- python
- 按键精灵相关
- 按键精灵图文教程
- 按键精灵视频教程
- 按键精灵Q语言
- 按键精灵安卓版
- golang
- 游戏安全
- 火山相关
- 火山安卓软件
- 火山常见问题及笔记
- 火山安卓源码
- 火山视频教程
- 火山PC版本下载
- 火山PC视窗例程
- 互联网那些事
- 引流推广
- 项目揭秘
- 网络营销
- 营销软件
- QQ营销软件
- 娱乐软件
- 机器人插件
- 培训教程
- 技术教程
- 活动线报
- 数据库
- Redis
- Access
- MongoDB
- Mysql
- 问答
- 其它
- 易语言
- 需求
- 在线教程
- 多线程培训班
- 觅风易语言教程
- 模拟系列教程
- 集中营易语言教程
- 历史数据
- 随机tag
已有1位网友发表了看法:
易语言例程 评论于 [2020-05-28 16:29:13] 回复
易语言 php算法加密