Как в Python сделать авторизацию после регистрации?
У меня есть проект TermNet. Это не дубликат, и не дополнение к вопросу, это конкретно отдельный вопрос, связанный по теме с моим проектом.
Вкратце о проекте:
Есть проект, TermNet, в нём есть две основные функции, на которых по сути и держится весь код, это функции authorization() (авторизация) и registration() (регистрация). Так вот, в обеих функциях есть три основные переменные: login, password, netkey. Последняя является неким ip-адресом внутри моей локальной сети TermNet-а.
Итак, в чём проблема?
Вот код всего проекта:
# python 3.7.4 Official Release.
from tqdm import tqdm, tqdm_gui, trange
import pyautogui
import random
import time
import os
i = 0
login = "status1.t3rm"
def genrandnetkey():
a = random.randint(1000, 9999)
b = random.randint(1000, 9999)
c = random.randint(1000, 9999)
d = random.randint(1000, 9999)
print(a, b, c, d, sep=":")
def termnet():
msgbox = input("Input the message: ")
sendmsg = input("Send?[Y/N]> ")
if sendmsg == "Y" or sendmsg == "y":
print(login + ":" + " " + msgbox + "\n")
else:
print("Empty message is cannot a sending!")
def loadbarTermNet():
for i in trange(100, desc="Connecting...", unit="termcon"):
time.sleep(0.1)
termnet()
i = i + 1
def authorization():
print("Authorization in TermNet.")
login = input("Login: ")
password = input("Password: ")
netkey = input("Net Key: ")
if login == "status1.t3rm":
if password == "ilisium.is.t3rmc0d3":
if netkey == "2020:0208:8080:0808":
print("Authorization is successfully!")
loadbarTermNet()
def registration():
loginreg = input("Entry a new login: ")
passreg = input("Entry a new password: ")
for i in trange(100, desc="Generating random network key(netkey)..."):
time.sleep(0.3)
a = random.randint(1000, 9999)
b = random.randint(1000, 9999)
c = random.randint(1000, 9999)
d = random.randint(1000, 9999)
randnetkey = print(a, b, c, d, sep=":")
with open("datastorage.dat", 'a') as savedata:
savedata.write(loginreg + "\n")
savedata.write(passreg + "\n")
savedata.write(str(randnetkey) + "\n")
print("Copying it network key for the next of Authorization!")
print("Do you a have the 10 second.")
time.sleep(10.0)
authorization()
authorization()
while i != 1:
termnet()
Нужно чтобы функция authorization()(Авторизация) после регистрации пользователя открывала файл datastorage.dat, который лежит по соседству в корневой папке проекта, и сверяла логин, пароль, и ключ с этим файлом; если всё сходится, впускала пользователя.
datastorage.dat - данный файл хранит в себе логин, пароль и ключ только что зарегистрировавшегося пользователя.