微信公众号加密的学习

1、Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法(均是16个字符)

encodestr = base64.b64encode('abcr34r344r'.encode('utf-8'))
print(encodestr)  # encodestr和decodestr可以互相转换
decodestr = base64.b64decode('YWJjcjM0cjM0NHI='.encode('utf-8'))
print(decodestr)

2、hashlib加密法
md5生成一个128bit的结果,通常用32位的16进制字符串表示
sha1生成一个160bit的结果,通常用40位的16进制字符串表示

sha1 = hashlib.sha1()
sha1.update('how to use sha1 in '.encode('utf-8'))
a = sha1.hexdigest()
print(a)
print(type(a))
print(len(a))
sha2 = hashlib.md5()
sha2.update('python hashlib?'.encode('utf-8'))
b = sha2.hexdigest()
print(b)
print(type(b))
print(len(b))

3、建立一个xml文件xml_tree,找到encrypt的密文

 xml_tree = ET.fromstring(xmltext)
 encrypt = xml_tree.find("Encrypt").text

4,字符窜格式化 ‘&(dict_key_name)s’ % dict_name

resp_dict = {
    'msg_encrypt': 1,
    'msg_signaturet': 2,
    'timestamp': 3,
    'nonce': 4,
}
AES_TEXT_RESPONSE_TEMPLATE = """<xml>
<Encrypt><![CDATA[%(msg_encrypt)s]]></Encrypt>
<MsgSignature><![CDATA[%(msg_signaturet)s]]></MsgSignature>
<TimeStamp>%(timestamp)s</TimeStamp>
<Nonce><![CDATA[%(nonce)s]]></Nonce>
</xml>"""
result = AES_TEXT_RESPONSE_TEMPLATE % resp_dict 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值