TypeError: объект, поддерживающий API-интерфейс буфера, необходимый в API-интерфейсе flask - PullRequest
0 голосов
/ 01 июня 2018

У меня есть этот код, который я хочу преобразовать пароль в md5

class UserLogin(Resource):
    def post(self):

            # Parse the arguments

            parser = reqparse.RequestParser()
            parser.add_argument('username')
            parser.add_argument('password')
            args = parser.parse_args()

            _user = args['username']
            _userPassword = args['password']
            _h = hashlib.md5(_userPassword.encode())
            conn = mysql.connect()
            cursor = conn.cursor()
            cursor.execute('''select * from user where username = %s && password = %s''', (_user, _h))
            data = cursor.fetchall()

            return jsonify(data)

, но ошибка говорит: h = hashlib.md5 (_userPassword.encode ()) AttributeError: у объекта 'NoneType' нетатрибут «кодировать»

, и когда я удаляю кодировку () из hashlib, возвращается ошибка: _h = hashlib.md5 (_userPassword) TypeError: требуется объект, поддерживающий API-интерфейс буфера

, пожалуйста, помогитемне.я использую python3.6

1 Ответ

0 голосов
/ 01 июня 2018

Вместо

_h = hashlib.md5(_userPassword.encode())

вам может потребоваться

_h = hashlib.md5(_userPassword.encode()).hexdigest()

А если вы храните хеш-пароль MD5, часть

password = md5(%s)

запрос не будет соответствовать ему, если вы связываете _h.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...