fix: 处理空 content 时签名生成错误
当 content 为空或空对象时,避免计算其 MD5 值,防止生成错误的签名。
| | |
| | | } |
| | | parm = parm.slice(0, -1); |
| | | parm.trim(); |
| | | const content_MD5 = MD5.hex(JSON.stringify(objectSort(content, { keyUpperCase: false }))); // content 也要排序,避免中间平台的干扰,例如 小红书 iOS 端发送的请求顺序就和我们传入的不一致 |
| | | let content_MD5 = '' |
| | | if (content && String(content) !== '{}') { |
| | | content_MD5 = MD5.hex(JSON.stringify(objectSort(content, { keyUpperCase: false }))); // content 也要排序,避免中间平台的干扰,例如 小红书 iOS 端发送的请求顺序就和我们传入的不一致 |
| | | } |
| | | const ass = `${method}&${parm}&${content_MD5}`; |
| | | const afterUtf8 = utf8Encode(ass); |
| | | // const third = crypto.createHmac('sha256', secret).update(afterUtf8).digest('hex'); |