md5加密的问题,求帮助
发布于 7 年前 作者 chelsh 3732 次预览 最后一次回复是 7 年前 来自 问答
类似这样的数据:
data={
"key1":{
a:[1,2],
b:{
"c":1,
"d":2
}
},
"key2":[2,3]
}
进行这样的签名:【将所有参数字段按首字母排序, 拼接成key1 = value1 & key2 = value2的格式,再在末尾拼接上key = appSecret, 再做MD5加密生成sign】,由于数据里面的value有的是数组 有的是object,要怎么样转化为“拼接成key1 = value1 & key2 = value2的格式”这样的格式啊,value会出现这样[object Object];这种情况怎么和ios协商md5加密方法呢?
5 回复
把整个data用JSON.stringify转化为字符串?可是data是object,key-value object本身就是无序的把? 前后端的md5加密 你们是怎么弄的呢?
把data的keys先排序然后拼接成key1 = value1 & key2 = value2的格式(value转成JSON.stringify转化为字符串)
不是无序,也不一定就是这个顺序,可以了解一下js对象构建顺序以及不通环境下遍历的顺序条件,但stringify应该是按照构建顺序进行字符串的,我觉得一般都是转换字符串加密,如果你对循序有强迫要求,那就写一个key的排序,排序后再stringify,两端都同样处理就好了。
node.js code:
手动拼接, 保证不会bug