app直播源码,uniapp随机数生成签名

app直播源码,uniapp随机数生成签名

1、首先,需要引入 node.js 内置模块 crypto,它提供了一些加密相关的函数和方法。可以在项目的 common 文件夹下新建一个 js 文件,例如 utils.js,并在其中定义一个生成随机串的方法,例如:

 

1
// 引入 node.js 内置模块 crypto<br>const crypto = require('crypto');<br> <br>/**<br> * 生成指定长度的随机字符串<br> * @param {Number} length 随机字符串的长度,默认为 16<br> * @return {String} 生成的随机字符串<br> */<br>export function generateNonceStr(length = 16) {<br>  const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';<br>  const maxPos = chars.length;<br>  let nonceStr = '';<br>  for (let i = 0; i < length; i++) {<br>    nonceStr += chars.charAt(Math.floor(Math.random() * maxPos));<br>  }<br>  return nonceStr;<br>}<br> <br>/**<br> * 根据参数对象生成签名<br> * @param {Object} params 参数对象<br> * @param {String} key 秘钥<br> * @return {String} 生成的签名<br> */<br>export function generateSignature(params, key) {<br>  // 按照字典序排序所有参数<br>  const sortedParams = Object.keys(params).sort().reduce((obj, key) => {<br>    obj[key] = params[key];<br>    return obj;<br>  }, {});<br> <br>  // 将参数拼接成 key=value&key=value 的形式,并以 &key=API_KEY的方式结尾<br>  const str = Object.entries(sortedParams)<br>    .filter(([key, value]) => value !== '' && typeof value !== 'undefined')<br>    .map(([key, value]) => `${key}=${value}`)<br>    .join('&') + `&key=${key}`;<br> <br>  // 使用 MD5 算法对拼接后的字符串进行加密,并返回加密结果的大写字母形式<br>  return crypto.createHash('md5').update(str, 'utf8').digest('hex').toUpperCase();<br>}

2、在项目中使用时,可以按照以下方式调用:

 

1
<br>import { generateNonceStr, generateSignature } from '@/common/utils';<br> <br>// 示例:生成支付预订单需要的随机串和签名<br>const params = {<br>  appid: 'your_appid',<br>  mch_id: 'your_mch_id',<br>  nonce_str: generateNonceStr(),<br>  body: '商品描述',<br>  out_trade_no: '商户订单号',<br>  total_fee: '订单总金额',<br>  spbill_create_ip: '调用支付接口的机器 IP',<br>  notify_url: '接收微信支付异步通知回调地址',<br>  trade_type: 'JSAPI',<br>  openid: '用户 openid'<br>};<br>const key = 'your_key';<br>const sign = generateSignature(params, key);<br> <br>console.log('随机串:', params.nonce_str);<br>console.log('签名:', sign);

 

 以上就是 app直播源码,uniapp随机数生成签名,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
历史上的今天:
2022-11-08 直播app开发,利用MethodHandle实现super关键字功能
2022-11-08 直播平台源代码,时间范围(range-picker)自定义时间段范围
2022-11-08 直播商城源码,配置首页搜索框
2021-11-08 短视频app开发,短视频动态功能上传图片时,规定图片压缩的大小
2021-11-08 短视频程序开发,RecyclerView自带的滚动条
2021-11-08 app直播源码,TextView部分字体颜色高亮
点击右上角即可分享
微信分享提示