841900
按照快递鸟官网说明: 接入即时查询API,DataSign 参数 是md5后base64编码的结果。所以我写成了这样: crypto.createHash('md5').update(str + appkey).digest('base64')
结果出错了,经过对比官网的例子一步步看下来,正确的写法是: var hex = crypto.createHash('md5').update(str + appkey).digest('hex') var dataSign = Buffer.from(hex, 'utf8').toString('base64')
应该是由于php的md5()出来的结果就是一个utf-8编码的hex表示方式的字符串,而node的 digest() 直接出来的就是utf-8编码的base64表示方式字符串。
唉~~感觉还是没能把自己的想法表达清楚,真为自己着急啊!!!!!! 算了,代码把我想说的都已经说了。