创建一个在Python中存储哈希密码的文本文件

问题描述 投票:-1回答:1
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>

如何预防?非常感谢您的帮助!

P.S。我知道在字典中存储用户名和密码不是很有效,但这是我现在唯一的方法。

python python-3.x hash
1个回答
2
投票
您可能不希望存储哈希本身,而是存储其十六进制摘要:

hash_object.hexdigest() # 'dc7e6b79b489fa810e11889710023e7e2e36fb64'

© www.soinside.com 2019 - 2024. All rights reserved.