Как в 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 - данный файл хранит в себе логин, пароль и ключ только что зарегистрировавшегося пользователя.


Ответы (0 шт):