为了账号安全,请及时绑定邮箱和手机立即绑定

新手遇阻:python3使用AES加密,参数can't concat str to bytes

新手遇阻:python3使用AES加密,参数can't concat str to bytes

猛跑小猪 2019-05-24 10:12:56
first_param="{rid:\"\",offset:\"0\",total:\"true\",limit:\"20\",csrf_token:\"\"}"defget_params():iv="0102030405060708"first_key=forth_paramsecond_key=16*'F'h_encText=AES_encrypt(first_param,first_key,iv)h_encText=AES_encrypt(h_encText,second_key,iv)returnh_encTextdefAES_encrypt(text,key,iv):pad=16-len(text)%16text=text+pad*chr(pad)encryptor=AES.new(key,AES.MODE_CBC,iv)encrypt_text=encryptor.encrypt(text)encrypt_text=base64.b64encode(encrypt_text)returnencrypt_text这段代码第十一行用python就会抛出can'tconcatstrtobytes无法拼接str,试过转换bytes和转换str再合并都不行。。请教下有没有什么解决办法
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

我刚才就遇到这个问题了,因为AES的encrypt方法的参数要求是bytesstr,所以我就讲填充符转化为bytes,也就是直接在字符串前面加b’,然后就可以了。
                            
查看完整回答
反对 回复 2019-05-24
  • 2 回答
  • 0 关注
  • 1300 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信