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

提供给第三方接口的验证方法

第三方调用(认证方式时效限制5分钟)该 postman 调用 url 为样例 url
请求头: Authorization
Basic
MTIzOmRjOTg0ZDY4NzJjNWZkYWFkZDllZDg4ZGE5ZmU5ZDYwZDc40TkxMzA0NWFmNjhkMjNiMzE4NzUzZTRhYTIWMDU=

请求头: Timestamp
20251014155614169

请求头加密方式:时间戳
String timestamp = new SimpleDateFormat("yyyyMMddHHmmssSsS").format(new Date());
认证加密:(其中 123 是待定,请可配置分别对应 appCode 和 secretkey)String basicAuth = getBasicAuth("123",getSignature("123",timestamp));
public static String getSignature(String secretKey,String timestamp){
try {
Mac mac = Mac.getlnstance("HmacSHA256");
mac.init(new SecretKeySpec(secretKey.getBytes("UTF-8"),"HmacSHA256"));bytell bytes =mac.doFinal(timestamp.getBytes("UTF-8"));String SHA256= byteToHex(bytes);
StringBASE64
Base64.getEncoder().encodeToString(SHA256.getBytes("UTF-8"));String encodeStr=URLEncoder.encode(BASE64,"utf-8");
return SHA256;
}catch(Exception e){

e.printStackTrace(),

}
return "";

}
private static String getBasicAuth(String appCode, String signature)

{StringuserAndPass = appCode + ":"+ signature,

try {
"BasicreturnBase64.getEncoder().encodeToString(userAndPass.getBytes("UTF-8"));

}catch(Exception e)

{

e.printStackTrace();
return "",

}

 

对端传过来加密串和时间戳,根据base64解密,得到appcode,查询表里,找到appcode对应的secretkey,根据传过来的时间戳,进行加密,然后跟传过来的密文进行比对,如果一致且在有效时间范围内,则验证通过。

http://www.rkmt.cn/news/22376.html

相关文章:

  • vue 下拉框 vxe-select 实现人员选择下拉列表
  • 最后防线 解题报告
  • AI时代我们需要更多开发者:Shalini Kurapati的技术洞察
  • 从此,不再开口就紧张
  • 基于Qt实现百度地图路径规划功能
  • 基于C#的湿度上位机实现方案
  • C盘满了怎么清理?10种安全释放Win10/Win11空间的方法(详细图文版)
  • 2025 护眼灯生产厂家最新推荐榜:精选资深与新锐品牌,深度解析生产实力与市场口碑
  • 【IEEE出版|快至3-4个月EI检索】第五届电力系统与能源互联网国际学术会议(PoSEI 2025)
  • 复盘:如何用Coze+Kimi,搭建一个能自动分析财报的“金融助理”?
  • 详细介绍:【算法竞赛学习笔记】基础算法篇:递归再探
  • 折腾笔记:免费用上 Claude Code 的两个方案
  • 2025 年最新金蝶云服务商代理机构权威推荐排行榜:聚焦铂金伙伴技术实力与万级客户口碑,上海金蝶云最新推荐优质公司
  • 可视化图解算法64:哈希表基础
  • SqlServer Arithmetic overflow error converting expression to data type int
  • 医疗公有云市场第一!
  • 2025手持光谱仪/光谱分析仪/便携式光谱仪、矿石/元素分析仪、合金/金属/不锈钢/铝合金、贵金属、三元催化、赛普斯、IF光谱仪推荐榜
  • 在 Android 11 上构建 WiFi 热点并发协助(同时开启 STA + AP 模式)
  • 25 LCA模拟赛3T1 ROI 2012马赛克 题解
  • uni-app x开发商城系统,Swiper 轮播图
  • 昂瑞微OM6651A:国产车规级蓝牙芯片的破局者
  • 打破应用跳转流失困局,提升推广链接转化率
  • 检查cpu是否支撑minio方法
  • Codeforces Round 1058 (Div. 2) A~E
  • 2025 年生料带厂家最新推荐排行榜:解析优质品牌优势,涵盖新型、彩色、液态等多类型生料带厂家企业推荐
  • openresty开发lua-resty-openssl之对称加密解密 - liuxm
  • 腾讯云 OpenCloudOS 8 docker安装
  • 哈希乱搞:CF1418G Three Occurrences
  • 悲伤 自卑 乖戾 独自哭泣 陪伴空虚 kill my memory 让我将痛苦全忘记
  • 工程师的 “指尖实验室”!正点原子 LT1 电桥镊子深度测评:同价位竞品谁能打?