python按照ACCII排序,&拼接,使用sm3加密

该博客介绍了一个使用Python进行ASCII排序、字符串拼接,并结合SM3加密的方法。首先,对data字段的值进行排序并格式化,然后将排序后的data与其他字段以特定格式组合,最后通过SM3加密算法对组合后的字符串进行签名计算。
摘要由CSDN通过智能技术生成

def get_sm3(dateSign):
# data字段的值进行排序
l_list = []
l = dateSign[‘data’]
log.info(‘需要签名的报文:{0}’.format(dateSign))
# data按照顺序读取
for d in sorted(l):
m = ‘{0}{1}{2}{3}{4}{5}{6}{7}’.format(’"’, d, ‘"’, ‘:’, ‘"’, l[d], ‘"’, ‘,’)
l_list.append(m)
l_list_string = “”.join(l_list)
s_list = [] # 新建空列表,存储date的值
# 循环读取date中的值
for i in sorted(dateSign):
if i == ‘data’:
n = ‘{0}{1}’.format(i, ‘=’)
s_list.append(n)
zifu01 = ‘{’
s_list.append(zifu01)
s_list.append(l_list_string)
zifu02 = ‘}’
s_list.append(zifu02)
zifu = “&”
s_list.append(zifu)
else:
s = ‘{0}{1}{2}{3}’.format(i, ‘=’, dateSign[i], ‘&’)
s_list.append(s)
# 列表转换为str
s_list_string = “”.join(s_list)
signRegion_key = s_list_string + “key=C2C2F53F74BD23DE5242885762E99E9

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值