PBKDF2 UnicodeEncodeError
from Cryptodome.Protocol.KDF import PBKDF2
def get_password_hash(password, salt):
salt = salt.encode()
kdf = PBKDF2(password, salt, 64, 1000)
key = kdf[:32]
return key
Получаю ошибку когда я пытаюсь хешировать русские символы модулем PBKDF2
Traceback
bot.polling(none_stop=True, timeout=123)
File "/usr/local/lib/python3.6/site-packages/telebot/__init__.py", line 392, in polling
self.__threaded_polling(none_stop, interval, timeout)
File "/usr/local/lib/python3.6/site-packages/telebot/__init__.py", line 416, in __threaded_polling
self.worker_pool.raise_exceptions()
File "/usr/local/lib/python3.6/site-packages/telebot/util.py", line 109, in raise_exceptions
six.reraise(self.exc_info[0], self.exc_info[1], self.exc_info[2])
File "/usr/local/lib/python3.6/site-packages/six.py", line 703, in reraise
raise value
File "/usr/local/lib/python3.6/site-packages/telebot/util.py", line 60, in run
task(*args, **kwargs)
File "bot.py", line 483, in com
add_data(user, tmp['password'], tmp['name'], text, login=tmp['login'], other=tmp['other'], totp=tmp['totp'])
File "bot.py", line 83, in add_data
hash1 = get_password_hash(password, salt1)
File "bot.py", line 60, in get_password_hash
kdf = PBKDF2(password, salt, 64, 1000)
File "/usr/local/lib64/python3.6/site-packages/Cryptodome/Protocol/KDF.py", line 140, in PBKDF2
password = tobytes(password)
File "/usr/local/lib64/python3.6/site-packages/Cryptodome/Util/py3compat.py", line 127, in tobytes
return s.encode(encoding)
UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-1: ordinal not in range(256)