当前位置: 首页 > news >正文

vue 签名校验 md5 uuid

import CryptoJS from 'crypto-js'
import uuid from '@/utils/uuid'
import { SECRET_KEY } from '@/utils/config'
// 签名校验
const nonceStr = uuid.uuid()
const timestamp = new Date().getTime()
// const sign = CryptoJS.MD5('nonceStr=' + nonceStr + '&secretKey=' + SECRET_KEY + '&timestamp=' + timestamp).toString(CryptoJS.enc.Hex).toUpperCase()
const sign = CryptoJS.MD5('nonceStr=' + nonceStr + '&secretKey=' + SECRET_KEY + '&timestamp=' + timestamp).toString().toUpperCase()
// 发送请求
axios.post('http://localhost:xxx', {nonceStr,timestamp,sign
}).then(res => {console.log(res.data)
}).catch(() => {this.$alert('本地授权客户端连接失败', '提示', { type: 'error' })
})

uuid.js

/*** 生成UUID*/
export default {uuid() {const s = []const hexDigits = '0123456789abcdef'for (let i = 0; i < 36; i++) {s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1)}s[14] = '4' // bits 12-15 of the time_hi_and_version field to 0010s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1) // bits 6-7 of the clock_seq_hi_and_reserved to 01s[8] = s[13] = s[18] = s[23] = '-'return s.join('').replaceAll('-', '')}
}

config.js

/*** @description: 加密配置信息*/
// 签名校验
export const SECRET_KEY = 'xxx32bitxxx'

注:npm install crypto-js

axios.post 改为同步请求

          // 签名校验const nonceStr = uuid.uuid()const timestamp = new Date().getTime()const sign = CryptoJS.MD5('nonceStr=' + nonceStr + '&secretKey=' + SECRET_KEY + '&timestamp=' + timestamp).toString().toUpperCase()// 发送请求this.loading = trueconst resp = await axios.post('http://localhost:xxx', {nonceStr,timestamp,sign}).catch(() => {this.$alert('本地授权客户端连接失败', '提示', { type: 'error' })})this.loading = false// 请求结果异常if (!resp) {return}// 请求结果处理const res = resp.dataif (res.code !== 200) {this.$message.error(res.msg)return}

相关文章:

vue 签名校验 md5 uuid

import CryptoJS from crypto-js import uuid from /utils/uuid import { SECRET_KEY } from /utils/config // 签名校验 const nonceStr uuid.uuid() const timestamp new Date().getTime() // const sign CryptoJS.MD5(nonceStr nonceStr &secretKey SECRET_KEY …...

CSS系列(16)-- 架构与模式详解

前端技术探索系列&#xff1a;CSS 架构与模式详解 &#x1f3d7;️ 致读者&#xff1a;探索 CSS 架构的艺术 &#x1f44b; 前端开发者们&#xff0c; 今天我们将深入探讨 CSS 架构与设计模式&#xff0c;学习如何构建可维护的样式系统。 CSS 架构方法论 &#x1f680; OO…...

【go语言】reflect包与类型推断

reflect 包的核心概念 Go 中的反射涉及两个核心概念&#xff1a; Type&#xff1a;表示一个类型的结构体&#xff0c;reflect.Type 是类型的描述。Value&#xff1a;表示一个值的结构体&#xff0c;reflect.Value 是一个具体值的包装。 反射让我们能够动态地访问对象的类型和…...

3.python运算符

Python 提供了多种运算符&#xff0c;用于执行算术、比较、逻辑等各种操作。以下是 Python 中常见的运算符类型及其用法&#xff1a; 文章目录 1. 算术运算符2. 比较运算符3. 逻辑运算符4. 赋值运算符5. 位运算符6. 成员运算符7. 身份运算符8. 运算符优先级 1. 算术运算符 算…...

【竞技宝】CS2-上海major:spirit力克MOUZ niko梦碎

北京时间2024年12月15日,CS2上海major正在如火如荼的进行中,昨日迎来两场半决赛MOUZ对阵spirit以及FAZE对阵G2。Spirit和MOUZ和各自赢下了自己的选图之后,spirit双子星在图三抗住压力帮助队伍杀入决赛。而G2和FAZE的比赛中,FAZE依然延续上一场的火热手感完全压制了G2,G2的明星选…...

【Leetcode 每日一题】3266. K 次乘运算后的最终数组 II

问题背景 给你一个整数数组 n u m s nums nums&#xff0c;一个整数 k k k 和一个整数 m u l t i p l i e r multiplier multiplier。 你需要对 n u m s nums nums 执行 k k k 次操作&#xff0c;每次操作中&#xff1a; 找到 n u m s nums nums 中的 最小 值 x x x&a…...

etcd集群常见日志

1、节点失去领导者 {"level":"info","ts":"2024-05-07T01:54:04.948Z","logger":"raft","caller":"etcdserver/zap_raft.go:77","msg":"raft.node: 9afce9447872453 lost le…...

【漫话机器学习系列】005.神经网络的结构(architecture on the neural network)

神经网络&#xff08;Neural Network&#xff09;是一种模拟人脑神经系统的计算模型&#xff0c;由大量相互连接的神经元&#xff08;节点&#xff09;组成&#xff0c;广泛应用于深度学习和机器学习领域。以下是神经网络的基本结构及关键组成部分。 1. 神经网络的基本组成 一…...

基于 Couchbase 数据仓库元数据管理的可行性方案

在大数据体系中&#xff0c;元数据管理是数据治理的关键一环。以下是一套元数据管理的可行性方案&#xff0c;适合你的当前架构设计&#xff08;基于 Couchbase 数据仓库&#xff09;并支持高效管理数据的分层与结构。 1. 元数据管理的目标 统一数据管理&#xff1a;清晰描述 …...

SpringBoot:快速构建微服务应用

一、SpringBoot简介 什么是SpringBoot 是由Pivotal团队提供的快速开发框架。它基于Spring框架&#xff0c;可以用于快速构建微服务应用程序。SpringBoot提供了一种快速、便捷的方式来启动和配置一个基于Spring的应用程序&#xff0c;它封装了很多常用的配置&#xff0c;简化了开…...

汽车嵌入式软件构建高效技术团队的全面思考

在汽车嵌入式软件开发领域&#xff0c;构建一支高效的通用技术团队至关重要。这类团队负责为各种项目提供可复用、标准化的技术基石&#xff0c;从而提高开发效率、降低成本并确保产品质量。构建这样的团队需要从技术能力、角色分工、标准化与复用、流程管理与质量保证、工具和…...

【跨库查询、多库查询】.NET开源 ORM 框架 SqlSugar 系列

文章目录 一、跨库方式1&#xff1a;跨库导航二、手动跨库查询三、同服务器&#xff1a;自动查询跨库查询3.1 Mysql和SqlServer自动3.2 自动: PgSql跨Scheme查询3.3 其他库同服务器 四、跨服务器&#xff1a;自动跨库查询4.1 配置SqlServer dblink4.2 配置 Oracle dblink4.3 配…...

智能人体安全防护:3D 视觉技术原理、系统架构与代码实现剖析

随着工业化程度的提高&#xff0c;生产安全已成为企业关注的重点。尤其是在一些存在禁区的工业厂区和车间&#xff0c;人员误入或违规进入将带来严重的安全隐患。为了解决这一问题&#xff0c;迈尔微视推出了智能人体安全检测解决方案&#xff0c;为企业提供全方位的人员安全监…...

第24周:文献阅读

目录 摘要 Abstract 一、现有问题 二、提出方法 三、创新点 模型结构创新 强化学习与GAN结合 属性特征与通顺性优化 四、方法论 生成对抗网络&#xff08;GAN&#xff09; 强化学习&#xff08;RL&#xff09; 模型组件 五、实验研究 数据集 数据预处理 评价指…...

yolov8 转华为昇腾om脚本

目录 yolov8 转华为昇腾 om脚本 测试ok 推理demo: yolov8 转华为昇腾 om脚本 测试ok import sys import osos.chdir(os.path.dirname(os.path.abspath(__file__)))import torchcurrent_dir = os.path.dirname(os.path.abspath(__file__))paths = [os.path.abspath(__file__)…...

分布式事物XA、BASE、TCC、SAGA、AT

分布式事务——Seata 一、Seata的架构&#xff1a; 1、什么是Seata&#xff1a; 它是一款分布式事务解决方案。官网查看&#xff1a;Seata 2.执行过程 在分布式事务中&#xff0c;会有一个入口方法去调用各个微服务&#xff0c;每一个微服务都有一个分支事务&#xff0c;因…...

域名信息收集(小迪网络安全笔记~

附&#xff1a;完整笔记目录~ ps&#xff1a;本人小白&#xff0c;笔记均在个人理解基础上整理&#xff0c;若有错误欢迎指正&#xff01; 2.1 域名信息收集 引子&#xff1a;上一章介绍了服务器的信息收集。本篇则介绍在面对存在Web资产企业时&#xff0c;其域名信息该如何收…...

力扣-图论-13【算法学习day.63】

前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键点&#xff0c;力扣上的大佬们的题解质量是非…...

【设计模式】如何用C++实现观察者模式【发布订阅机制】

【设计模式】如何用C实现观察者模式【发布订阅机制】 一、问题背景 代码质量影响生活质量。最近工作中频繁接触各种设计模式&#xff0c;深刻体会到优秀的设计模式不仅能显著降低后续维护的压力&#xff0c;还能提升开发效率。观察者模式作为一种降低耦合度、提高扩展性的利器…...

【LC】2717. 半有序排列

题目描述&#xff1a; 给你一个下标从 0 开始、长度为 n 的整数排列 nums 。 如果排列的第一个数字等于 1 且最后一个数字等于 n &#xff0c;则称其为 半有序排列 。你可以执行多次下述操作&#xff0c;直到将 nums 变成一个 半有序排列 &#xff1a; 选择 nums 中相邻的两…...

2026-04-02 打卡第 2 天

# 2026-04-02 打卡第 2 天 # 列表 """ li [1,2,a] print(li) # 输出结果&#xff1a;[1, 2, a] """# 列表中添加元素 # 整体添加 append """ li [a,b,c] li.append(d) print(li) # 输出结果&#xff1a;[a, b, c, d] "&qu…...

实测nanobot:5分钟搭建个人AI助手,还能轻松接入QQ聊天

实测nanobot&#xff1a;5分钟搭建个人AI助手&#xff0c;还能轻松接入QQ聊天 1. nanobot核心优势解析 nanobot作为一款超轻量级个人AI助手解决方案&#xff0c;在技术架构和用户体验上都有显著突破。这个受OpenClaw启发的项目&#xff0c;仅用约4000行代码就实现了完整的智能…...

linux下的pwm子系统

概念:PWM的概念就不多说了&#xff0c;pwm子系统如下:设备树:rk3568设备树pwm控制器里面已经配置了时钟&#xff0c;所以只需要使能节点就好了/* 使能 PWM12 节点 配置使用指定的引脚 状态设置为正常工作 */&pwm12 {status "okay";pinctrl-0 <&pwm12m1_…...

Blender场景教程:秘密实验室

BY:Express the Chaos关于我做了5年视觉设计师&#xff0c;但没有正式的3D背景。我十一个月前养成了通过概念艺术和3D表达自己的习惯&#xff0c;不得不向Blender介绍自己&#xff08;因为它是免费软件&#xff0c;我忍不住要用&#xff09;&#xff0c;以及制作3D场景的整个机…...

3.30作业

例图及要求&#xff1a;分析&#xff1a;1、配置各个交换机接口2、全网仅有两个网段&#xff0c;PC1和PC3在一个网段&#xff0c;PC2、PC4、PC5和PC6在一个网段3、路由器配置互联接口4、AR1上配置DHCP服务5、各个主机间相互ping通成果&#xff1a;...

打造专业视频编辑App时间线:基于android-advancedrecyclerview的终极拖拽实现指南

打造专业视频编辑App时间线&#xff1a;基于android-advancedrecyclerview的终极拖拽实现指南 【免费下载链接】android-advancedrecyclerview RecyclerView extension library which provides advanced features. (ex. Googles Inbox app like swiping, Play Music app like d…...

重新定义AI时代的敏态与稳态:ArkClaw与HiAgent的双轮进化

4月2日&#xff0c;2026火山引擎AI创新巡展・武汉站正式启幕。火山引擎总裁谭待在宣布截至2026年3月&#xff0c;豆包大模型日均Token使用量突破120万亿&#xff0c;三个月翻倍、较2024年5月豆包问世增长了1000倍的同时&#xff0c;提出了以ArkClaw为敏态Agent、HiAgent为稳态A…...

驱动模块的加载与卸载机制

昨天调板子又遇到个怪事&#xff1a;insmod加载驱动一切正常&#xff0c;但rmmod死活卸载不掉&#xff0c;内核日志里只留下一行“Device or resource busy”。查了半小时才发现&#xff0c;原来是有个用户态进程没关&#xff0c;一直占着驱动文件。这种问题在嵌入式开发里太常…...

Go语言如何部署到K8s_Go语言Kubernetes部署教程【进阶】

Go服务容器化失败主因是镜像路径与WORKDIR不匹配、containerPort未对齐监听端口、Probe未适配程序健康接口、ConfigMap/Secret挂载权限不足&#xff0c;需逐一核验镜像内容、网络声明、文件权限及进程监听行为。Go 服务打包成容器镜像时&#xff0c;main.go 路径和 WORKDIR 不匹…...

别再把AI当聊天机器人了:Claude Code之父的“15倍速”工程化工作流全拆解

在这个AI编程工具层出不穷的时代&#xff0c;大多数人还在纠结“哪家大模型的代码补全更准”&#xff0c;或者在对话框里一行行地复制粘贴代码。然而&#xff0c;Anthropic工程师、Claude Code的缔造者Boris Cherny最近在X上公开的一套工作流&#xff0c;直接震碎了开发者社区的…...