最近在做接口加密验证,其中参数涉及到中文,当有中文时加密得到的结果与实际结果不符,想请教各位怎么解决
下面是具体代码:
data 是需要传的参数,encrypted_string 是加密串,其中 data 中有中文,主要问题是 ord()中文得到结果位数少了,造成异或结果错误
def xor_string(data,encrypted_string):
"""对参数进行异或处理"""
sl = len(data)
el = len(encrypted_string)
auth_string = str()
for i in range (sl):
auth_string +=chr(ord(data[i])ord(encrypted_string[i % el]))
return auth_string