from hashlib import sha256
import random, sys
def hash(string):
'''Hashes a string'''
return sha256(
string.encode()).hexdigest() # when using hash() returns a hashed string
def save_users():
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close
print("nWelcome")
signIn = input("Do you have an account? [Y/N]").upper()
if signIn == "N":
print("Sign up :")
username = input("New Username: ")
password = hash(input("New Password: "))
confirm = hash(input("ConfirmPassword: ")) == password
print(password)
if not confirm:
print("Passwords do not match")
save_users()
"打印(密码(";只是为了测试它是否真的对字符串进行了哈希处理,因为这是我第一次做这样的事情。我将如何将密码和用户名保存到电子邮件中,同样,我将如何验证密码和用户名?
Python 3.8.5
替换:
def save_users():
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close
带有:
def save_users(username, password):
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close()
并用save_users(username, password)
而不是save_users()
调用它
from hashlib import sha256
def hash(string):
'''Hashes a string'''
return sha256(
string.encode()).hexdigest()
def save_users(username, password):
with open("UserDetails.txt", "w") as f:
f.write("Username;{} nPassword:{}".format(username, password))
print("nWelcome")
signIn = input("Do you have an account? [Y/N]").upper()
if(signIn == "N"):
print("Sign up :")
username = input("New Username: ")
password = hash(input("New Password: "))
confirm = hash(input("ConfirmPassword: ")) == password
if(confirm):
save_users(username, password)
else:
print("Passwords do not match")
else:
print("you are already have an account")
测试此