文档转换接口异常

阅读次数 152

image.png image.png image.png 我按照文档里面写的用md5加密和sha1一直返回
md5 not match.

有技术可以支持一下吗

2 Answers

你好,md5算的有问题,计算时候的content要和实际发出的报文中的内容一致。

以下脚本可以放到Postman Pre-request Script 中,试一试

let access_key = "xxxxxx"
let secret_key = "xxxxxx"

wps2(pm.request, access_key, secret_key)

function wps2(request, ak, sk) {
    let content_type = "application/json"

    let date = (new Date()).toUTCString()

    let content_md5 = request.body.raw 
    ? CryptoJS.MD5(request.body.raw).toString()
    : CryptoJS.MD5(request.url.getPathWithQuery()).toString()
      
    let signature = CryptoJS.SHA1(sk+content_md5+content_type+date).toString()
    let authorzation = `WPS-2:${ak}:${signature}`
    
    // setup variable
    pm.request.headers.add({
        key: 'Date',
        value: date
    });
    pm.request.headers.add({
        key: 'Content-Type',
        value: content_type
    });
    pm.request.headers.add({
        key: 'Content-MD5',
        value: content_md5
    });
    pm.request.headers.add({
        key: 'Authorization',
        value: authorzation
    });
}

能提供Java md5 和 sha1的方法吗 我试了几种方法都匹配不上

你好,问题可能出在md5的十六进制小写上,建议尝试 String.format("%02x", b)

用 String.format("%02x", b)转出来的值还是不对,转出来的值是 ab3a0106f350e8fa48e13014a765479d 但接口需要的是 2480f8f1cc360875b8bb48d3af4038ab 能提供完整一点的方法吗

有技术看一下吗