funcionando trabalho 4

This commit is contained in:
2023-10-22 17:15:12 -03:00
parent c8799ed37a
commit 83f806b815
6 changed files with 45 additions and 43 deletions
+12 -12
View File
@@ -12,14 +12,14 @@ def process_message(message):
message = message.split("||")
if message[0] == "register":
body = message[1].split(",")
body = message[1].split("<>")
username = body[0]
password = body[1]
password = sha256(password.encode()).hexdigest()
key = message[3]
return register_user(username, password, key)
elif message[0] == "login":
body = message[1].split(",")
body = message[1].split("<>")
username = body[0]
password = body[1]
password = sha256(password.encode()).hexdigest()
@@ -31,7 +31,7 @@ def process_message(message):
T_c_tgs = {ID_C + T_R + K_c_tgs}K_tgs
M2 = [{K_c_tgs + N_1}Kc + T_c_tgs]
"""
body = message[1].split(",")
body = message[1].split("<>")
ID_C = body[0]
key = get_key(ID_C)
@@ -40,17 +40,17 @@ def process_message(message):
M2_AES = AESCipher(K_tgs)
inner_message = AES.decrypt(body[1])
inner_message = inner_message.split(",")
inner_message = inner_message.split("<>")
T_R = inner_message[1]
N1 = inner_message[2]
K_c_tgs = os.urandom(16)
T_c_tgs = f"{ID_C},{T_R},{K_c_tgs}"
T_c_tgs = f"{ID_C}<>{T_R}<>{K_c_tgs}"
T_c_tgs = M2_AES.encrypt(T_c_tgs)
M2 = f"{K_c_tgs},{N1}"
M2 = f"{K_c_tgs}<>{N1}"
M2 = AES.encrypt(M2)
M2 = f"{M2},{T_c_tgs}"
M2 = f"{M2}<>{T_c_tgs}"
print('sending m2', M2)
return M2
else:
@@ -58,19 +58,19 @@ def process_message(message):
def register_user(username, password, key):
with open("users.data", "a") as f:
f.write(f"{username},{password},{key.encode()}\n")
return f"success,{key}"
f.write(f"{username}<>{password}<>{key.encode()}\n")
return f"success<>{key}"
def login(username, password):
with open("users.data", "r", newline='\n') as f:
for line in f:
line = line.strip()
line = line.replace("\n", "")
user, pw, key = line.split(",")
user, pw, key = line.split("<>")
if user == username and pw == password:
key = eval(key)
print(f"Login succeeded!")
return f"success,{key}"
return f"success<>{key}"
print("Login failed!")
return "failure"
@@ -81,7 +81,7 @@ def get_key(username):
for line in f:
line = line.strip()
line = line.replace("\n", "")
user, _, key = line.split(",")
user, _, key = line.split("<>")
if user == username:
return eval(key)