我决定做一个新的Python应用程序。这是我的加密功能:
from Crypto.Cipher import AES
def encPass(login, password):
keyPhr=os.environ['HOME']+login
hashObj = hashlib.md5()
hashObj.update(keyPhr)
keyPhr=hashObj.hexdigest()
keyObj=AES.new(keyPhr)
encPwd=keyObj.encrypt(password+'pssd')
return encPwd
如您所见,它获取登录和传递,并通过绑定到pc来加密pass
问题是,当我试图将encPws提供给sqlite3并将其插入到一个表中时,它说:
^{pr2}$如果我尝试将encPwd放入unicode()或hex()中:
TypeError: hex() argument can't be converted to hex
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9c in position 0: unexpected code byte
我想是因为我是新手,但我该怎么办?用河豚代替AES也一样
您可以使用
buffer
并将encPwd
作为blob插入。在或者可以使用类似base64的方法将
encPwd
转换为ASCII(这是UTF8的一个子集),以便可以将其作为字符串插入。在相关问题 更多 >
编程相关推荐