Создание текстового файла, в котором хранится хешированный пароль в Python - PullRequest
0 голосов
/ 14 февраля 2020
import os
import time
import random
import sys
import string
import hashlib

users = {}

class User:
    def __init__(self, username, password):
        self.username = username
        self.password = password

running = True

while running:
    os.system("cls")
    print("Welcome. Please register yourself.")
    print()
    uname = input("Username: ")
    pword = input("Password: ")

    users.update({"" + uname : "" + pword})

    hash_object = hashlib.sha1(pword.encode())

    pswrd = open("hash.txt", "a")
    pswrd.write(str(hash_object))

    pswrd.close()

    for key, value in users.items():
        print()
        print(key, " : ", value)
        time.sleep(3)

Когда я открываю текстовый файл, он имеет следующее:

<sha1 HASH object @ 0x010E6600>

Как я могу предотвратить это? Любая помощь очень ценится!

PS Я знаю, что сохранение имени пользователя и пароля в словаре неэффективно, но это единственный способ сделать это прямо сейчас.

1 Ответ

2 голосов
/ 14 февраля 2020

Вы, вероятно, хотите хранить не сам ха sh, а его HEX-дайджест:

hash_object.hexdigest()
# 'dc7e6b79b489fa810e11889710023e7e2e36fb64'
...