postman签名算法(将请求体参入签名算法计算)

let timestamp = (new Date()).getTime().toString(); 

timestamp = timestamp.substr(0,13);

//设置集合的全局变量

pm.collectionVariables.set("timestamp", timestamp);

var appkey='XXXXXXX';

pm.collectionVariables.set("appkey",appkey);



 

function generateUUID() {

  return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {

    var r = Math.random() * 16 | 0,

        v = c === 'x' ? r : (r & 0x3 | 0x8);

    return v.toString(16);

  });

}

console.log(generateUUID());

var nonce = generateUUID();

pm.collectionVariables.set("nonce",generateUUID());

const requestBody = pm.request.body.raw;//获取请求体

const newRequestBody = requestBody.replace(/\s+/g, '');//将请求体的空格和换行删除

var tianti='XXXXXXX';

var signStr ='appkey'+appkey +'nonce'+nonce+'timestamp'+timestamp+newRequestBody+tiantian;

console.log("signStr :"+signStr);


 

//md5加密

var signature=CryptoJS.MD5(signStr).toString().toUpperCase();

console.log("sign:"+signature);

pm.collectionVariables.set("sign", signature);



中台验签算法
 

let timestamp = (new Date()).getTime().toString(); 
timestamp = timestamp.substr(0,13);
//设置集合的全局变量
pm.collectionVariables.set("timestamp", timestamp);var appkey='XXXXXXXXX';
pm.collectionVariables.set("appkey",appkey);function generateUUID() {return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {var r = Math.random() * 16 | 0,v = c === 'x' ? r : (r & 0x3 | 0x8);return v.toString(16);});
}console.log(generateUUID());
var nonce = generateUUID();pm.collectionVariables.set("nonce",generateUUID());const requestBody = pm.request.body.raw;//获取请求体
const newRequestBody = requestBody.replace(/\s+/g, '');//将请求体的空格和换行删除var secret='XXXXXXXX';
var signStr ='appkey'+appkey +'nonce'+nonce+'timestamp'+timestamp+requestBody+secret;
console.log("signStr :"+signStr);//md5加密var signature=CryptoJS.MD5(signStr).toString().toUpperCase();
console.log("sign:"+signature);
console.log("signStr :"+signStr);
pm.collectionVariables.set("sign", signature);pm.request.headers.add({key: 'Content-Type',value: 'application/json;charset=UTF-8'
});pm.request.headers.add({key: 'sign',value: signature
});pm.request.headers.add({key: 'appkey',value: appkey
});pm.request.headers.add({key: 'timestamp',value: timestamp
});pm.request.headers.add({key: 'nonce',value: nonce
});

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

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

相关文章

2023国赛 陕西省省级二等奖得主 数学建模学习资源推荐

美国最为权威的数学建模参考书Mathematical Modeling 在前言部分对数学建模有一个比较通俗易懂的解释: Mathematical modeling is the link between mathematics and the rest of the world. You ask a question. You think a bit, and then you refine the questi…

pandas字符串操作(上)

目录 数据预览: 一、split分割列 1.需求: 2.完整代码展示 3.讲解 (1)分割 (2)写入 4.效果展示 二、partition分割列 1.需求: 2.完整代码展示 3.讲解 (1)分割…

推荐系统模型(一) DFN 详解 Deep Feedback Network for Recommendation

背景 在大多数的推荐系统中,往往注重于隐式正反馈(例如:点击),而忽略掉用户的其他行为(例如大多数CTR模型只考虑用户的喜欢,而忽略了不喜欢)。腾讯在Deep Feedback Network for Recommendation 一文中,提出了一个新颖…

金三银四-解锁Java并发编程的艺术:掌握多线程、同步和并发控制的精髓

又要快到一年一度的金三银四,开始复习啦~! 每天一点点。。 目录 一、Java中的volatile关键字有什么作用? 二、解释Java中的synchronized关键字及其工作原理。 三、Java中的CAS操作是什么?它如何实现无锁编程&#x…

【网络安全】【密码学】【北京航空航天大学】实验一、数论基础(上)【C语言和Java实现】

实验一、数论基础(上) 一、实验目的 1、通过本次实验,熟悉相关的编程环境,为后续的实验做好铺垫; 2、回顾数论学科中的重要基本算法,并加深对其的理解,为本学期密码学理论及实验课程打下良好…

WebSocket的进阶理解

通过前端的方法 let ws new WebSocket("ws://");ws.onopen function() {// 当 WebSocket 连接成功建立时触发 };ws.onmessage function(event) {// 当接收到 WebSocket 服务器发送的消息时触发let message event.data; // 获取接收到的消息内容 };ws.send("…

蓝桥杯备赛 | 洛谷做题打卡day5

蓝桥杯备赛 | 洛谷做题打卡day5 图论起航,一起来看看深(广)度优先吧 ~ 文章目录 蓝桥杯备赛 | 洛谷做题打卡day5图论起航,一起来看看深(广)度优先吧 ~【深基18.例3】查找文献题目描述 输入格式输出格式样例…

Docker创建网络macvlan并且和宿主机互通

docker network create -d macvlan --subnet192.168.1.0/24 --gateway192.168.1.1 --ip-range192.168.1.0/24 --ipv6 --subnetfe00::/64 -o parenteth0 subnet-macvlan ip地址位数表(常用) 掩码位数可用主机数(主机地址数)255.2…

易基因:表观遗传学和表观转录组修饰在植物金属和准金属暴露中的作用 | 抗逆综述

大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。 非必需金属(non-essential metal)和准金属(metalloid,也称类金属)对土壤的污染是全球许多地区面临的严重问题。这些非必需金属…

python 爬虫 生成markdown文档

本文介绍的案例为使用python爬取网页内容并生成markdown文档,首先需要确定你所需要爬取的框架结构,根据网页写出对应的爬取代码 1.分析总网页的结构 我选用的是redis.net.com/order/xxx.html (如:Redis Setnx 命令_只有在 key 不存在时设置 key 的值。…

【Azure 架构师学习笔记】- Azure Databricks (6) - 配置Unity Catalog

本文属于【Azure 架构师学习笔记】系列。 本文属于【Azure Databricks】系列。 接上文 【Azure 架构师学习笔记】- Azure Databricks (5) - Unity Catalog 简介 UC的关键特性 之所以DataBricks要用UC, 很大程度是对安全的管控。从上文可以了解到它的四大特性&#…

C++ OJ基础

C OJ基础 在学校学习C程序设计基础课程的OJ题目 缺少第二十题 这里写目录标题 C OJ基础习题练习(一)打印图形习题练习(二)数据的输入输出习题练习(三)函数重载习题练习(四)设计矩形类习题练习(五)定义Tree类习题练习(六)完善职工工资类Salary的设计习题练习(七)设计矩形类recta…

双目测距工程Stereo-Vision-master学习笔记

硬件: 首先要要把两个摄像头固定到支架上,并且两个摄像头的间距应该在110mm,两个摄像头没有落差 相机的内参数包括焦距、主点坐标、像素尺寸等,这些参数决定了相机成像的几何变换关系。内参数是相机固有的属性,不会随…

UE5 UE4 修复GPU驱动程序崩溃

原贴链接:https://mp.weixin.qq.com/s/e5l9XtfwEFWgwhHi1b2idg UE5 UE4在处理含有大量图形的项目时,你有可能会遇到GPU崩溃 可以通过修改注册表,修复崩溃。 GPU崩溃情况概述 UE5 UE4在处理含有大量图形的项目时,你有可能会遇到G…

JS常用工具:Webpack 和 JShaman分别有什么用?

Webpack和JShaman是两个不同的工具,它们的特点和用途也不同。 Webpack是一个前端资源模块打包工具,主要用于将各种静态资源(如JavaScript、CSS、图片等)视为模块,并将其打包成浏览器可以识别的代码。Webpack的特点包括…

通过生成mcs、bin文件将程序固化到FPGA

通过将程序固化到FPGA,可以做到断电不丢失程序,上电之后就自动启动程序的作用,整个固化步骤主要分为3步,一是修改约束文件,二是生成mcs或bin文件,三是将程序固化到开发板flash 1.修改约束文件 生成固化文…

【物流管理系统-Python简易版】

前端设计-后端开发(DJango项目Demo) 参考资料:【一文到底】【0基础】【快速上手】Django基本使用 创建项目 Pycharm专业版新建DJango项目 项目文件介绍: django_study_demo │─ manage.py 【项目管理的脚本,不要修…

动态规划(day10)买卖股票问题

目录 121. 买卖股票的最佳时机(需要消化下dp的定义和赋值) 看到题目的第一想法 看到代码随想录之后的想法 自己实现过程中遇到的困难 122.买卖股票的最佳时机II(需要理解与消化) 看到题目的第一想法 看到代码随想录之后的想法 自己实现过…

从JavaScript的角度上讲解一下xml

- XML(可扩展标记语言) XML(可扩展标记语言)是一种被设计用于存储和传输结构化数据的标记语言。它与HTML相似,但XML并没有预定义的标签,可以自定义标签及其属性。从JavaScript的角度来看,XML可以…

弟12章 网络编程

文章目录 网络协议概述 p164TCP协议与UDP协议的区别 p165TCP服务器端代码的编写 p166TCP服务器端流程 TCP客户端代码的编写 p167TCP客户端流程主机和客户端的通信流程 tcp多次通信服务器端代码 p168TCP多次通信客户端代码 p169UDP的一次双向通信 p170udp通信模型udp接收方代码u…