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

网站建设pc指什么软件公司建网站几天可以

网站建设pc指什么软件,公司建网站几天可以,新闻类网站怎么做,怎样给公司产品做网站签名生成步骤(小程序端/前端): 确定参与签名的参数:选择需要参与签名的请求参数,通常包括请求的时间戳、随机数、请求的数据等。 参数排序与拼接:将所有参与签名的参数按照字母顺序排序,并拼接成…
 签名生成步骤(小程序端/前端):


确定参与签名的参数:选择需要参与签名的请求参数,通常包括请求的时间戳随机数请求的数据等。
参数排序与拼接:将所有参与签名的参数按照字母顺序排序,并拼接成一个待签名的字符串。
生成签名:使用 HMAC 算法(如 HMAC-SHA256)和预设的密钥对拼接后的字符串进行签名。HMAC 需要一个密钥和一个消息作为输入,生成一个固定长度的哈希值作为输出。
发送请求:将签名和其他请求参数一起发送给服务器。

在小程序中,如果你需要进行 HMAC 加密(通常与某个哈希函数如 SHA256 结合使用),你可以使用小程序提供的 JavaScript 运行时环境来实现。但是,小程序标准库并不直接提供 HMAC 加密函数,因此你需要使用现成的 JavaScript 库,或者自己实现 HMAC 算法。

这里有一个使用 JavaScript(可以在小程序中运行)和 CryptoJS 库(需要你自己引入)来实现 HMAC-SHA256 加密的示例:

  1. 首先,你需要将 CryptoJS 库添加到你的小程序项目中。你可以通过 npm 安装它(虽然小程序原生不支持 npm,但你可以将 npm 包转换为小程序支持的格式),或者手动下载并添加到项目中。

  2. 然后,你可以使用以下代码进行 HMAC-SHA256 加密:

// 假设你已经以某种方式引入了 CryptoJS 库  
// 例如,通过 require 或 import(如果小程序支持)  
// var CryptoJS = require('path/to/crypto-js'); // 小程序可能不支持 require,所以你需要其他方式引入  // 示例:使用 CryptoJS 进行 HMAC-SHA256 加密  
function hmacSha256(message, secret) {  // CryptoJS.HmacSHA256 需要两个参数:要加密的消息和密钥  var hash = CryptoJS.HmacSHA256(message, secret);  // toString() 方法将加密结果转换为十六进制字符串  return hash.toString(CryptoJS.enc.Hex);  
}  // 使用示例  
var message = 'The quick brown fox jumps over the lazy dog'; // 要加密的消息  
var secret = 'my-secret-key'; // 密钥  
var encrypted = hmacSha256(message, secret);  
console.log(encrypted); // 输出加密后的十六进制字符串

注意:由于小程序环境可能限制了对外部库的引入和使用,因此你可能需要找到一种方法来将 CryptoJS 或其他加密库打包成小程序可以使用的格式。这通常涉及到使用工具(如 webpack 或其他打包器)来转换库,并手动将其添加到你的小程序项目中。

如果你不想使用外部库,你也可以查找 HMAC-SHA256 的纯 JavaScript 实现,并将其包含在你的小程序代码中。但是,请注意,实现加密算法时要格外小心,以确保它们的安全性和正确性。


签名验证步骤(PHP 后台):


接收请求参数:从请求中获取所有参与签名的参数以及签名值。
参数排序与拼接:使用与小程序端相同的规则,对接收到的参数进行排序并拼接成待验证的字符串。
验证签名:使用相同的 HMAC 算法和密钥,对待验证的字符串进行哈希计算,生成一个本地的签名值。
比较签名:将生成的本地签名值与请求中携带的签名值进行比较。
判断结果:如果两个签名值相同,则认为请求是合法的;否则,拒绝请求。

<?php//获取签名
function generateSignature($params, $secretKey)
{ksort($params); // 对参数进行排序$stringToSign = http_build_query($params,'', '&',PHP_QUERY_RFC3986); // 拼接参数 注意:使用RFC 3986 标准进行编码确保和前端url转译的特殊字符(空格)保持一致return hash_hmac('sha256', $stringToSign, $secretKey); // 使用 HMAC-SHA256 生成签名
}//验签
function verifySignature($params, $receivedSignature, $secretKey)
{$expectedSignature = generateSignature($params, $secretKey); // 生成期望的签名return hash_equals($expectedSignature, $receivedSignature); // 比较签名是否一致
}// 假设这是从请求中获取的参数和签名$requestParams = [ 'timestamp' => '1679312345', 'nonce_str' => 'abcdefg', 'user_id'=>1 ];$receivedSignature = '签名值从请求中获取'; //签名$secretKey = '你的密钥'; // 这个密钥应该安全地存储在服务器上,并且只有服务器知道// 验证签名if (verifySignature($requestParams, $receivedSignature, $secretKey)){echo "签名验证成功!";} else {echo "签名验证失败!";}
  • hash:用于验证数据的完整性,不需要密钥,但可能容易受到冲突攻击。
  • HMAC_hash:结合了密钥和哈希函数来验证数据的完整性和来源,更安全,因为需要知道密钥才能验证 HMAC 值。
  • 注意: http_build_query($params,'', '&',PHP_QUERY_RFC3986); // 拼接参数 注意:使用RFC 3986 标准进行编码确保和前端url转译的特殊字符(空格)保持一致
http://www.yayakq.cn/news/895836/

相关文章:

  • 某企业网站建设规划书合肥做核酸最新通知
  • 网站建设寻找可以途径网深圳网站优化
  • 大型网站开发 广州购物国外网站的建立
  • 新公司刚成立做网站网站登录入口
  • 企业局域网站建设模板中国商标交易官网
  • 利用技术搭建网站做网站代理js代码网站大全
  • 华容网站建设手机如何创造网站
  • 东莞网站建设0086自助建站网站模板
  • 进入网站后台管理系统做耳机套的网站
  • 携程网站建设计划管理与进度控制厦门网站设计建设
  • wordpress多语言建站wordpress企业网站实例
  • 牡丹江有做网站的人吗住房城乡建设部网站办事大厅
  • 免费下载app软件网站网页设计素材免费版
  • 泊头那家做网站一键优化清理神器
  • 1免费网站建站可以免费发广告的网站有哪些
  • 佘山网站建设商城项目
  • 如何自己制作一个软件新网站排名优化怎么做
  • 汕头网站建设技术外包做进料加工在哪个网站上做
  • 公司网站封面怎么做.net搭建企业网站
  • 手机移动开发网站广州工商学院官网
  • 德州做网站公司排行永济市住房保障和城乡建设管理局网站
  • 网站开发进度计划书优化推广排名
  • 做医疗类网站有什么需要审核的注册公司该怎么注册
  • 怎么建立一个网站放图片买流量平台
  • wordpress搜索加强淄博网站制作升级优化
  • 沈阳网站建设设计公司仿门户网站
  • 建设网站需要哪些内容郑州网络公司
  • 肇东网站制作凡科免费网站可以做推广吗
  • 网站专题页面设计欣赏博客网站做外贸可以吗
  • 做个购物商城网站多长时间项目流程八个阶段