鄭舜尹 管理员
我很含蓄, 什么也没有留下!

互联中台整合请求安全码(digi-key)说明

智驱平台2025-6-25 09:48 阅读 7 评论 0

互联中台整合请求中有安全码的设计,用来验证整合请求的合法性。
安全码的位置说明如下:

SOAP-XML:
消息中,request标签底下的key属性

RESTful-JSON:
请求头中的digi-key

因此通过互联中台传送消息时,必须比照检核编码规则,将正确的检核码内容放入消息对应的位置中,才可通过互联中台验证。

编码的方式是,依据指定规则,截取消息中的一部分,将其做md5长度32位的编码,大小写不拘。
可以在网络上搜索md5编码工具来使用。

截取消息的规则说明如下:

SOAP-XML:
将消息中,host标签和service标签的内容串接成一个字符串,并将此字符串做md5编码
举例若请求消息如下

<request type="sync" key="63aa8f6bc8e0958000a5ae3c359830ac"><host prod="TIPTOP" ver="5.30" ip="10.20.30.50" id="toptst" timestamp="20250624163208003" /><service prod="EFGP" name="test.service" /><payload><![CDATA[<Request>...<RequestContent>...</RequestContent></Request>]]></payload></request>

绿底部分是要截取的内容,进行md5编码后的结果如橘底内容

RESTful-JSON:
将请求头中,digi-host和digi-service的内容串接成一个字符串,并将此字符串做md5编码
举例若请求头如下

digi-type: sync

digi-host: {"prod":"TIPTOP","ver":"5.30","ip":"10.20.30.50","id":"toptst ","lang":"zh_TW","timestamp":"20250624163208003","acct":""}

digi-service: {"prod":"EFGP","name":"test.service"}

digi-key: ba3bfd22e6d56409078847dd1bbd6327

content-type: application/json; charset=UTF-8

绿底部分是要截取的内容,进行md5编码后的结果如橘底内容

因检核编码会随着host和service的内容更改而有变动,在测试上常常需要重新截取host和service内容重新产生md5编码,很不方便。


在使用postman测试RESTful接口时,可以用Pre-request Script来根据每次digi-host和digi-service内容自动产生digi-key,如下图:

// 计算MD5加密

function calculateMD5(input) {

    // 在这里实作MD5加密算法,可以使用现有的JavaScript函式库或自己写算法

    // 以下是一个范例使用CryptoJS函式库的实现

    const md5 = CryptoJS.MD5(input).toString();

    return md5;

}

 

// 取得digi-host和digi-service的值

const hostValue = pm.request.headers.get("digi-host");

const serviceValue = pm.request.headers.get("digi-service");

 

// 删除现有的digi-key

pm.request.headers.remove("digi-key");

 

// 如果digi-host和digi-service的值都存在,则进行MD5加密并设定digi-key

if (hostValue && serviceValue) {

    const concatenatedValue = hostValue + serviceValue;

    const encryptedValue = calculateMD5(concatenatedValue);

    pm.request.headers.add({key: "digi-key", value: encryptedValue});

}


路过

雷人

握手

鲜花

评论

您需要登录后才可以发表言论 登录立即注册
facelist
  • 42帖子
  • 0关注
  • 1粉丝

粉丝1

  • 关注公众号
Copyright © 2025 鼎捷数智股份有限公司 版权所有 All Rights Reserved. Powered by Discuz! X5.0
关灯
即将开放
返回顶部
返回顶部