Profilo di CrazyProgrammer

Nome CrazyProgrammer
Indirizzo email n/a
Messaggi5
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    P.S. Potrei aver risolto avevo fatto un errore cretino
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    In merito a quanto dici per la creazione del file anche io sapevo che il file viene creato subito (ho py sul computer ma per comodità uso repl.it come compiler online)



    Ho provato più volte ma il file viene creato nella directory del programma solo quando digito exit




    Provato su IDLE Python 3.6.2 su MacOS X 10.11.6 El Capitan
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    Non ho ben capito come mantenere l'indentazione del codice per cui mi scuso in anticipo
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    Grazie mille della risposta.



    In primo luogo mi dispiace che trovi il mio codice confusionale e in effetti ho scritto quel post di fretta e ho caricato l'intero codice senza pensare che in effetti l'errore era solo in parte di esso.




    In merito a quanto hai detto forse mi sono spiegato male, la shell di python non dà errore semplicemente il programma non fà quello che dovrebbe ovvero non confronta correttamente l'input inviato dall'utente con l'hash contenuto nel file




    Di seguito come mi hai chiesto le righe di codice incriminate






    import hashlib

    import os

    import random

    usr=""

    while len(usr) <= 0:

    usr=input("Username:\n")

    if len(usr) == 0:

    print("L'username non può essere vuoto\n")

    psw=""

    try:

    doc2=open(str(usr)+str(".txt"),"x")

    except FileExistsError:

    print("Esiste già un utente registrato con quell'username,per favore scegline un altro")

    while len(psw) <= 0:

    psw=input("Password:\n")

    doc2=open(str(usr)+str(".txt"),"r+")

    tohash2=hashlib.sha3_512(psw.encode())

    passhash=tohash2.hexdigest()

    doc2.write(passhash)

    doc2.close()

    print("Processo Terminato.Digita exit nella shell e successivamente avvia nuovamente il programma per applicare le modifiche.\n")

    if len(psw) == 0:

    print("La password non può essere vuota\n")




    Questo provvede a "registrare" le credenziali




    P.S. non vedo dove sia la confusione,nel codice mi sembra tutto molto chiaro




    Per quanto riguarda il login






    usr=""

    var=True

    while len(usr) <= 0:

    usr=input("Username: ")

    if len(usr) == 0:

    print("L'username non può essere vuoto")

    psw=""

    while len(psw) <= 0:

    psw=input("Password: ")

    if len(psw) == 0:

    print("La password non può essere vuota")

    try:

    doc=open(str(usr)+str(".txt"),"r")

    lines=doc.readlines()

    hashedpsw=str(lines0)

    except FileNotFoundError:

    print("L'username non corrisponde a nessun utente registrato")

    if hashedpsw == psw:

    print("Login effettuato con successo")

    import logged

    else:

    print("Credenziali Errate")







    Spero in un'altra risposta veloce quanto la prima,grazie in anticipo




    P.P.S Grazie per le critiche,proverò a migliorare il modo in cui scrivo, ma avresti dei consigli specifici?


  • Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    Salve a tutti,
    Questo è il mio primo messaggio sul forum al quale mi sono iscritto proprio perché non sto trovando una soluzione al mio problema.




    Mi spiego in breve, ho scritto una shell in Py 3.6.2 come passatempo ma sto riscontrando un problema che ne pregiudica parzialmente l'uso.

    Il problema è il seguente : L'utente quando si registra deve scegliere un username e una password e fin qua tutto va bene, successivamente le credenziali vengono manipolate nella maniera seguente :

    L'username è il nome del file .txt

    La password viene hashata (hash sha3 512) e scritta sul file appena creato

    Per salvare le modifiche è necessario riavviare il programma (Py non crea il file finché l programma non termina a quanto pare)

    Il file è creato correttamente e il digest è contenuto all'interno del file

    Tutto apposto sembra

    Al momento di effettuare il login sorge un problema : non so se è colpa del fatto che si tratti di un hash (dovrebbe leggerlo come stringa no?) o qualcos'altro, fatto sta che ogni volta il programma dà errore come se le credenziali fossero errate anche se ho più volte verificato che gli hash e le credenziali corrispondono

    Aiuto!!




    P.S. Il codice è allegato ma lo trovate anche a questo link http://repl.it/@Crazyprogrammer/consoletest3

    Grazie :)