Как исправить ошибку типа bcrypt - «Unicode-объекты должны быть закодированы перед хэшированием» - PullRequest
0 голосов
/ 22 февраля 2019

когда я запускаю свой код, который приведен ниже, я получаю ошибку типа «Unicode-объекты должны быть закодированы перед хэшированием».Сначала я подумал, что это может быть связано с оператором ввода, но после того, как он попробовал его с паролем, заданным как обычная строка, он все равно не работал.Я заранее извиняюсь, если это действительно легко решить, но я новичок в python и не смог найти другие ответы здесь или на других сайтах.Я использую Python 3, если эта информация поможет вам.

Мой код:

import bcrypt 

password = input("Input your desired password: ")
hashedPassword = bcrypt.hashpw(password, bcrypt.gensalt())

Если у кого-то есть идеи, как это исправить, пожалуйста, дайте мне знать, спасибо заранее.

1 Ответ

0 голосов
/ 22 февраля 2019

Здесь требуется экземпляр типа bytes вместо типа str.Это, вероятно, должно решить вашу проблему

import bcrypt 

password = input("Input your desired password: ")
b = password.encode('utf-8') # I just added this line
hashedPassword = bcrypt.hashpw(b, bcrypt.gensalt()) # dont forget to change "password" -> "b"

Удачи!

...