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

news2024/12/25 23:48:19

前言

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

说明

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

本节成品图

在这里插入图片描述

接口列表

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.coloradmin.cn/o/1663305.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

百度公关一号位翻车的本质是,“精英主义”已经没有市场了 | 最新快讯

“精英主义”没市场了。 文&#xff5c;商隐社&#xff0c;作者 | 浩然 01 这几天商业圈持续发酵的热点新闻就是百度“公关一号位”璩静的“短视频翻车事件”。 一个名为“我是璩&#xff08;q&#xff09;静”&#xff0c;在自我介绍中标注了“百度副总裁”“公关一号位”“…

如何在Android手机上恢复已删除的视频?

有时&#xff0c;由于不同的原因&#xff0c;可能会发生意外的数据丢失灾难。 那么如何在Android手机内存或没有计算机的情况下恢复已删除的视频呢&#xff1f;本文将给你一个答案。 如何在Android上恢复已删除的视频&#xff1f; 不要惊慌&#xff01;您可以在Android手机上恢…

苹果M4芯片:推动AI时代的革新力量

随着科技的飞速发展&#xff0c;苹果公司一直以其创新精神引领着行业潮流。其中&#xff0c;M4芯片的推出无疑是苹果在人工智能领域迈出的重要一步。这款专为机器学习和AI计算而设计的芯片&#xff0c;不仅在新款iPad Pro等消费电子产品上亮相&#xff0c;更是预示着苹果即将开…

机器学习(四) ----------逻辑回归

目录 1 概述 2 极大似然估计 3 逻辑回归核心思想 3.1 对数似然损失&#xff08;Log-likelihood Loss&#xff09; 4 分类问题的评估方法 4.1 混淆矩阵&#xff08;Confusion Matrix&#xff09;&#xff1a; 4.2 准确率&#xff08;Accuracy&#xff09; 4.3 精确率&…

文本三剑客grep与正则表达式、元字符

正则表达式 正则表达式又称为正规表达式、常规表达式、在代码中常简写为regex、regex或RE。正则表达式是使用单个字符串来描述、匹配一系列符合某个句法规则的字符串&#xff0c;简单来说&#xff0c;是一种匹配字符串的方法&#xff0c;通过一些特殊符号&#xff0c;实现快速查…

AcwingWeb应用课学习笔记

VSCode自动格式化 选中Format On Save不起作用 在设置中搜索default formatter&#xff0c;修改成Prettier-Code formatter meta标签 HTML 元素表示那些不能由其它 HTML 元相关&#xff08;meta-related&#xff09;元素&#xff08;(、,

全套停车场管理系统报价多少钱?停车场管理系统由哪些设备组成?

随着城市化进程的加快&#xff0c;汽车保有量的不断攀升&#xff0c;停车场的管理和运营成为城市基础设施建设的重要组成部分。一个高效、智能的停车场收费系统不仅能提升停车效率&#xff0c;还能增强用户体验&#xff0c;对城市的交通管理起到关键作用。本文将为您详细介绍全…

Linux NFS共享目录配置漏洞

Linux NFS共享目录配置漏洞 一、实验目的二、实验原理三、复现准备四、漏洞复现4.1、复现前提4.2、正式复现 一、实验目的 利用 NFS共享目录配置漏洞读取目标主机的 /etc/passwd 文件内容NFS 服务配置漏洞&#xff0c;赋予了根目录远程可写权限&#xff0c;导致 /root/.ssh/au…

TypeScript 中的类型与接口

在 TypeScript 中&#xff0c;定义类型有两种方式&#xff1a;“类型”和“接口”。 人们经常想知道该使用哪一种&#xff0c;答案并非适用于所有情况。有时一种更好&#xff0c;但在许多情况下&#xff0c;两者可以互换使用。 我们来详细了解一下类型和接口的不同点和相似点…

当时这样说就好了的笔记

系列文章目录 当时这样说就好了的笔记 文章目录 系列文章目录一、 不用好口才&#xff0c;怎么谈都讨喜的“说话金律”1、 掌握对方爱聊什么是交谈热络的第一步2、 装笨让对方当主角&#xff0c;和谁都能聊不停3、 “讲道理”谁都怕&#xff0c;坚持己见最伤感情4、 懂“聆听附…

Java——类与对象

目录 一、面向对象的初步认识 1.1 什么是面向对象 1.2 面向对象与面向过程 二、类的定义与使用 2.1 简单认识类 2.2 类的定义格式 三、类的实例化 3.1 什么是实例化 3.2 类和对象的说明 四、this引用 4.1 为什么要有this引用 4.2 什么是this引用 ​编辑 4.3 this引用…

数据增强,迁移学习,Resnet分类实战

目录 1. 数据增强&#xff08;Data Augmentation&#xff09; 2. 迁移学习 3. 模型保存 4. 102种类花分类实战 1. 数据集 2.导入包 3. 数据读取与预处理操作 4. Datasets制作输入数据 5.将标签的名字读出 6.展示原始数据 7.加载models中提供的模型 8.初始化…

轻松操作!ae导出mp4格式,一篇文章学会

在视频制作的过程中&#xff0c;Adobe After Effects作为一款强大而专业的后期处理工具&#xff0c;为我们提供了丰富的特效和编辑功能。然而&#xff0c;在完成创作后&#xff0c;将项目导出为通用的MP4格式是分享和展示作品的关键一步。在本文中&#xff0c;我们将探讨ae导出…

营销的本质是“利他”,资深运营高手分享9套消费返利玩转市场!

营销的本质是“利他”&#xff0c;资深运营高手分享9套消费返利玩转市场&#xff01; 文丨微三云营销总监胡佳东&#xff0c;点击上方“关注”&#xff0c;为你分享市场商业模式电商干货。 - 引言&#xff1a;2024年移动互联网基本已经占据了核心不可篡改的地位&#xff0c;而…

Graphormer:Transformer用于图预测任务

文章信息 文章题为“Do Transformers Really Perform Bad for Graph Representation?”&#xff0c;该文章发表于2021年NeurIPS会议上。文章提出Graphormer图预测任务。 摘要 Transformer架构已经成为许多领域的主导选择&#xff0c;例如自然语言处理和计算机视觉。此外…

1015: 堆排序算法

解法&#xff1a; 20240510_193050 最后一个非叶子节点就是最后一个节点的父节点 进行一次最小堆调整&#xff08;如视频&#xff09; #include<iostream> #include<vector> using namespace std; void min_heapfy(vector<int>& a,int sta,int end) {i…

游戏行业被攻击的原因、攻击种类及合适的服务器

很多游戏刚上线没多久就频繁遭到同行恶意攻击。在相关数据报告中&#xff0c;2023年上半年遭受DDoS攻击的行业中&#xff0c;游戏行业占到40%&#xff0c;而且攻击方式、攻击频率、攻击峰值呈明显上升趋势。很多充满创意的游戏开发公司刚才开发上线一个很有特色的产品&#xff…

在k8s中安装Grafana并对接Prometheus,实现k8s集群监控数据的展示

&#x1f407;明明跟你说过&#xff1a;个人主页 &#x1f3c5;个人专栏&#xff1a;《Grafana&#xff1a;让数据说话的魔术师》 &#x1f3c5; &#x1f516;行路有良友&#xff0c;便是天堂&#x1f516; 目录 一、引言 1、Grafana简介 2、Grafana的重要性与影响力 …

需求规格说明书设计规范(编制实际项目案例-word)

二、 项目概述 2.1 项目背景 2.2 现状分析 2.2.1 业务现状 2.2.2 系统现状 三、 总体需求 3.1 系统范围 3.2 系统功能 3.3 用户分析 3.4 假设与依赖关系 四、 功能需求 五、 非功能性需求 5.1 用户界面需求 5.2 软硬件环境需求 5.3 产品质量需求 5.4 接口需求 5.5 其他需求 六、…

C语言(指针)2

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸各位能阅读我的文章&#xff0c;诚请评论指点&#xff0c;关注收藏&#xff0c;欢迎欢迎~~ &#x1f4a5;个人主页&#xff1a;小羊在奋斗 &#x1f4a5;所属专栏&#xff1a;C语言 本系列文章为个人学习笔记&#x…