云南区块链商户平台:抓包技术自制开票工具(二)

前言

上节我们分析了云南区块链商户平台的登录接口以及数据加密、解密,本节我们将构建一个项目框架,将大致的雏形制作出来

说明

由于我们使用开票软件都是在 云南区块链商户平台上操作,如果再开发电脑端就显得没必要,思考良久,最后打算开发移动端

本节成品图

在这里插入图片描述

接口列表

api
获取验证码https://yunnan-cloud-backend.wetax.com.cn/v3/user/picture-code?token=
获取微信扫码https://yunnan-cloud-backend.wetax.com.cn/v3/user/qr-code?token=
登录

登录流程图

在这里插入图片描述

获取验证码

由于接口返回的是base64的代码,且不带头,所以需要处理以下再进行渲染

<image :src="base64Image" mode="widthFix"  style="width: 150rpx;"></image>
yzm(){let that=this;uni.request({url: 'http://service.****.***/api/getcode.php',data: {id:'',},method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded' //自定义请求头信息},success: (res) => {console.log(res)if (res.data.code==0) {console.log(res.data.data['unique_code'])console.log(res.data.data['picture'])that.base64Image='data:image/jpeg;base64,'+res.data.data['picture']} else{uni.showToast({title:res.data.message,icon:'error'})}}})}

为了防止跨域的问题,需要将抓包的接口封装成本地访问,例如我的文件getcode.php,访问后可解析接口数据
在这里插入图片描述

刷新前端页面可以实时显示验证码数据
在这里插入图片描述
在这里插入图片描述

登录请求

解密

<?php
// 设置参数
$key_text = '1*****************D';
$iv_text = 'A**************412';
$plaintext = '9********7';
$encoding = 'utf-8';// 使用PKCS7填充
$block_size = 16;
$pad_length = $block_size - (strlen($plaintext) % $block_size);
$plaintext .= str_repeat(chr($pad_length), $pad_length);// 如果IV不足16字节,使用空字节填充至16字节
$iv_length = strlen($iv_text);
if ($iv_length < 16) {$iv_text = str_pad($iv_text, 16, "\0");
}// 创建AES加密器
$ciphertext = openssl_encrypt($plaintext, 'aes-128-cbc', $key_text, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $iv_text);// 将加密结果进行Base64编码
$encrypted_base64 = base64_encode($ciphertext);echo "加密后的Base64编码结果:".$encrypted_base64."\n";
?>

运算模式:CBC
填充模式:PKCS7
密钥长度:128bit
key(text):1D
iv(text): A
********2
需要加密:92*******27
字符编码:utf-8
输出base64编码

登陆后能够返回token及店铺信息
在这里插入图片描述

token处理

如果每次都要重新登陆,有点鸡肋,可以储存再本地,页面生命周期加载的同时检测是否过期

本地缓存

登陆成功后将token存储再本地,页面启动周期添加check_token()检查

that.token=res.data.data['token']
uni.setStorageSync('token',token)
onLoad() {this.yzm()this.check_token()},

失效检查

接口说明
https://yunnan-cloud-backend.wetax.com.cn/v3/user/user-info?token=6idt*********Ush通过token检查当前账号是否token过期

在这里插入图片描述

通过php进行模拟,失效返回结果

在这里插入图片描述

token状态码说明
401失效
0正常
check_token(tokens){let that=this;uni.request({url: 'http://*******/is_token.php',data: {token:tokens},method: 'POST',header: {'content-type': 'application/x-www-form-urlencoded' //自定义请求头信息},success: (res) => {console.log(res.data)if (res.data.code==401) {uni.showToast({title:'登陆失效',icon:'error'})uni.removeStorageSync('token')}else if (res.data.code==0) {uni.showToast({title:'登陆成功',icon:'success'})console.log(res.data.data['user'])that.userinfo=res.data.data['user']that.status='1'}else{uni.showToast({title:res.data.message,icon:'error'})}}})	},

检测token可用时,给userinfo数据,将status标记为1已登录

其他专题作品

《记一次云之家签到抓包》
《记一次视频抓包m3u8解密过程》
《抓包部分软件时无网络+过代理检测 解决办法 安卓黄鸟httpcanary+vmos》
《Python】记录抓包分析自动领取芝麻HTTP每日免费IP(成品+教程)》
《某课抓包视频 安卓手机:黄鸟+某课app+VirtualXposed虚拟框架》

推荐专栏:

《Python爬虫脚本项目实战》

该专栏往期文章:
《【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)》

🥦如果感觉看完文章还不过瘾,欢迎查看我的其它专栏
🥦作者对python有很大的兴趣,完成过很多独立的项目:例如滇医通等等脚本,但是由于版权的原因下架了,爬虫这一类审核比较严谨,稍有不慎就侵权违规了,所以在保证质量的同时会对文章进行筛选

如果您对爬虫感兴趣请收藏或者订阅该专栏哦《Python爬虫脚本项目实战》,如果你有项目欢迎联系我,我会同步教程到本专栏!

🚀Python爬虫项目实战系列文章!!
⭐⭐欢迎订阅⭐⭐

【Python爬虫项目实战一】获取Chatgpt3.5免费接口文末付代码(过Authorization认证)
【Python爬虫项目实战二】Chatgpt还原验证算法-解密某宝伪知网数据接口

⭐⭐欢迎订阅⭐⭐
在这里插入图片描述

Python爬虫脚本项目实战
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/690277.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

某MBTI性格测试系统后台Getshell

在淘宝购买了性格测试系统源代码进行环境部署,后进行渗透测试 淘宝源码链接:https://item.taobao.com/item.htm?ftt&id790798788255 (自己学习(代码审计、算法、环境搭建)知识技能提升) 环境准备 集成环境选的是小皮 phpstudy 创建网站,将源代码放入网站根目录配置好数据…

IM是什么意思?

IM&#xff08;即时通讯&#xff09;作为现代通讯领域的重要且普遍应用&#xff0c;已成为人们日常生活和工作中不可或缺的通信方式。随着科技的不断发展和互联网的普及&#xff0c;IM工具通过实时信息传递&#xff0c;将沟通变得更加迅速、便捷、高效。 IM的诞生极大地改变了…

用python写算法——栈笔记

栈 栈的定义相关算法题 栈的定义 1.它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶&#xff0c;相对地&#xff0c;把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈&#xff0c;它是把新元素放到栈顶元素的上面&#xff0…

Nginx或Tengine服务器配置SSL证书

目录 前提条件 步骤一&#xff1a;下载SSL证书 步骤二&#xff1a;在Nginx服务器安装证书 步骤三&#xff1a;验证SSL证书是否配置成功 前提条件 已通过数字证书管理服务控制台签发证书SSL证书绑定的域名已完成DNS解析&#xff0c;即您的域名与主机IP地址相互映射已在Web服…

【高校科研前沿】北师大陈晋教授团队在遥感顶刊发表最新成果:ClearSCD模型:在高空间分辨率遥感影像中综合利用语义和变化关系进行语义变化检测

01文章简介 论文名称&#xff1a;The ClearSCD model: Comprehensively leveraging semantics and change relationships for semantic change detection in high spatial resolution remote sensing imagery&#xff08;ClearSCD模型&#xff1a;在高空间分辨率遥感影像中综合…

谷歌上架攻略:个人号20人连续14天封闭测试的详细流程及相关注意事项

众所周知&#xff0c;近年来&#xff0c;Google play为了确保应用质量和用户体验&#xff0c;对开发者提出不少新要求。其中&#xff0c;对于个人开发者的一项要求是&#xff0c;自2023年11月13日起&#xff0c;新注册的个人开发者账号在上架正式版应用前&#xff0c;必须经过2…

最新版Ceph( Reef版本)文件存储简单对接k8s(下集)

假如ceph集群已经创建 1.创建cephfs_pool存储池 ceph osd pool create fs_kube_data 16 162.创建cephfs_metadata存储池 ceph osd pool create fs_kube_metadata 16 163 创建cephfs ceph fs new cephfs01 fs_kube_metadata fs_kube_data4 设置最大活动数 ceph fs set cephfs01…

CCF CSP 认证考试历年真题满分题解(所有前四题)

CCF CSP 认证考试历年真题满分题解&#xff08;所有前四题&#xff09; 前言 原本刷题的动机仅仅是为研究生复试的机试环节做准备&#xff0c;我通过刷csp的真题来锻炼自己&#xff0c;因为上次的机试题目全部是csp真题&#xff0c;最后也是顺利上岸。空闲之际&#xff0c;我…

大模型prompt实例:知识库信息质量校验模块

大模型相关目录 大模型&#xff0c;包括部署微调prompt/Agent应用开发、知识库增强、数据库增强、知识图谱增强、自然语言处理、多模态等大模型应用开发内容 从0起步&#xff0c;扬帆起航。 大模型应用向开发路径&#xff1a;AI代理工作流大模型应用开发实用开源项目汇总大模…

关于DDD和COLA的一些总结和思考

1|0思维&#xff1a;面向对象和面向过程 领域驱动设计本质上是讲的面向对象&#xff0c;但是谈面向对象&#xff0c;始终无法绕开面向过程&#xff0c;所以我们先好好说一下面向过程和面向对象这两个概念。 什么是面向过程呢&#xff0c;其实就是我们学习编程时最初被植入的逻辑…

CTF数据安全大赛crypto题目解题过程

CTF-Crypto加密题目内容 下面是一个Base64加密的密文 bXNobnszODdoajM3MzM1NzExMzQxMmo4MGg0bDVoMDYzNDQzNH0原文链接&#xff1a; 数据安全大赛CTF-Crypto题目 - 红客网-网络安全与渗透技术 我们用Python写一个解密脚本&#xff1a; import base64 import time #base64加密…

从静态PPT到智能演讲——人工智能在演示文稿中的应用

1.概述 在这个信息过载的时代&#xff0c;能够吸引并持续吸引观众的注意力无疑成为了一项艰巨的任务。公众演讲领域正经历着一场由人工智能&#xff08;AI&#xff09;引领的革命。AI不仅在制作引人入胜的内容方面发挥作用&#xff0c;而且在分析演讲的传递方式上也起着关键作…