首页 > python json.dumps包含签名的dict出错怎么办?

python json.dumps包含签名的dict出错怎么办?

我的服务器要返回给请求我的客户端一段json字符串,服务器代码是用python实现的。格式如下:

{

 “sign”: “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”,
 “name”: "王大锤”,
 “age”: 14

}
其中sign是用openssl rsa 私钥签名”name=王大锤&age=14”后的结果。

在json.dumps的时候,就会报错,(我估计是将这个sign转化成unicode时候报错的,毕竟其本身并不是标准汉字字节码),
网上有一种写法是:sign.encode(‘utf-8’, ‘ignore')这样做成unicode。再去dumps

但是这样试了的结果是签名校验失败了,请问有什么好的解决办法?


sign.encode(‘utf-8’, ‘ignore')这里面ignore的意思是忽略异常的字符,也就是说签名中的非法字符会自动被过滤掉,导致签名失效。

@丁亚光 的方法应该是可行的,校验时再unhexlify回bytes校验。


sign先hexlify一下

binascii.hexlify(sign)

【热门文章】
【热门文章】