2016-01-01 2 views
0

Я делаю программу входа в систему на python. Одной из его функций является создание учетной записи, в которой имя пользователя и хешированный пароль хранятся в текстовом файле. Он работал нормально, но я хотел добавить подтверждение пароля, поэтому я добавил еще один ввод пароля и хэшировал его. При оформлении счета «гостя», однако, когда я сравниваю хэши с петлей в то время как так:Python 3.4 Проверить текстовое значение Hash

while encryptedpass != encryptedpass2: 
    confirmedpass = getpass.getpass(prompt = 'The passwords did not match. Please try again.') 
    encryptedpass2 = hashlib.sha512(confpass.encode('ascii')) 

он (цикл пока) всегда работает. Причина в том, что значения переменных, не вводя пароль и просто нажав ввод, равны <sha512 HASH object @ 0x7f8276c09da0> и <sha512 HASH object @ 0x7f8276c09cb0>. Они оба разные. Я хотел бы иметь возможность проверить фактическое текстовое значение этих хэшей, но я не знаю, как это сделать. Может кто-нибудь, пожалуйста, скажите мне, как?

ответ

1

Я считаю, что добавление .hexdigest() - это функция, которую вы ищете.

+0

Теперь он работает! Благодарю. – Ranger