猿问

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

first_param="{rid:\"\",offset:\"0\",total:\"true\",limit:\"20\",csrf_token:\"\"}"
defget_params():
iv="0102030405060708"
first_key=forth_param
second_key=16*'F'
h_encText=AES_encrypt(first_param,first_key,iv)
h_encText=AES_encrypt(h_encText,second_key,iv)
returnh_encText
defAES_encrypt(text,key,iv):
pad=16-len(text)%16
text=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再合并都不行。。请教下有没有什么解决办法
猛跑小猪
浏览 1301回答 2
2回答

人到中年有点甜

我刚才就遇到这个问题了,因为AES的encrypt方法的参数要求是bytesstr,所以我就讲填充符转化为bytes,也就是直接在字符串前面加b’,然后就可以了。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答