Хорошо, я совершенно новичок в 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
Как видите, он получает логин и пароль и шифрует пароль с привязкой к ПК.
Проблема в том, что когда я пытаюсь передать encPws в sqlite3 и вставить его в таблицу, он говорит:
sqlite3.ProgrammingError: You must not use 8-bit bytestrings unless you use a text_factory that can interpret 8-bit bytestrings (like text_factory = str). It is highly recommended that you instead just switch your application to Unicode strings.
Если я попытаюсь поместить 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
Я думаю, это потому, что я новичок, но что мне делать? То же самое с Blowfish вместо AES