Ci stiamo avvicinando così tanto che riesco quasi a vedere il traguardo, quindi resisti.
Ora abbiamo i contanti e il conto in modo da poter finalizzare questa funzione di quella password, LexCorp qui,
mentre stiamo scorrendo ogni elemento, cosa vogliamo controllare?
Bene, vogliamo verificare che se l'hash è la storia dell'hash qui.
È uguale a hash to check, ricorda, hash to check è la fine della nostra password con hash che non abbiamo mai
inviato a nessuno che si trova sulla nostra macchina.
Quindi è bello e sicuro.
E lo verificheremo perché l'API ci ha restituito un elenco di questi hash con la coda.
Quindi, se combacia bene, in tal caso, voglio che tu restituisca il conteggio.
Quindi voglio restituire quante volte questa password è stata trapelata.
Altrimenti, torna.
Zero.
Di nuovo, posso farlo perché uscirà da questo ciclo ogni volta che vedrà la parola chiave return
ora nel mio controllo API dello stagno, eseguirò questa funzione, il che implica che catturerà tutte queste informazioni e restituirà il
conteggio delle volte in cui la password con hash è stata trapelata.
Quindi abbiamo un'ultima cosa da fare, ovvero la capacità di stampare effettivamente il risultato di tutti questi
calcoli.
Quindi rimuoviamo questo per ora e creiamo una funzione principale.
E la sua funzione principale riceverà gli argomenti che gli diamo proprio qui nella nostra riga
di comando, quindi importeremo, come potresti aver visto prima, il modulo di servizio.
E qui, avremo una funzione principale che riceve gli argomenti, che sono le
password che vogliamo controllare e per ora passeremo qui.
Ma in fondo, chiameremo la funzione principale.
Con il visto svizzero dot org e accetti un numero qualsiasi di argomenti dopo aver fatto il Python tre, controlla il mio passato Stoppie e poi
gli diamo tutti gli argomenti che vogliamo, che sono le password.
Quindi eseguiremo la funzione in questo modo.
Questa funzione principale, tutto ciò che farà è dire per la password e gli argomenti perché possiamo
dargli più password.
Lo faremo in loop.
E avremo una password SHA one.
E un conteggio o faremo semplicemente il conteggio, perché riceveremo il conteggio dal conteggio delle perdite di password di
acquisizione.
Quindi possiamo farlo semplicemente eseguendo il controllo API pound.
E la passeremo, la password che stiamo controllando.
E tutto ciò che faremo è effettivamente all'interno di questo blocco, diciamo, se in quel caso esiste il conteggio,
voglio che stampi una stringa F e questa stringa F dirà.
Il.
Password che stiamo scorrendo.
È stato trovato il conteggio di quante volte.
E poi diremo che probabilmente dovresti cambiare.
La tua password.
Altrimenti.
Se questo significa che non c'è conteggio, cioè che non c'erano corrispondenze, allora siete tutti a posto, possiamo dire.
Stringa del cuore.
Parola d'ordine.
Non è stato trovato.
Proseguire.
Quindi questa è una buona password, dovresti andare avanti, sei tutto a posto.
E poi finalmente, solo per divertimento, torniamo fuori da questa funzione.
Ritorno.
Fatto proprio così.
Se dico questo, vediamo cosa ci dà, dirò Python tre, controlliamo il mio passaggio e controlliamo.
Ciao.
Ricevo ciao non è stato divertente andare avanti, ma sappiamo che ciao è stato trovato prima, giusto?
Voglio dire, è una semplice password.
Dovremmo davvero ottenere qualcosa di buono qui.
Ora, voglio anche rimuovere questa risposta di stampa poiché non ne abbiamo più bisogno.
Riesci a individuare l'errore?
Di nuovo, questa è una parte un po' complicata con Python, giusto?
È il rientro in qualcosa che abbiamo visto prima.
Quindi vuoi diventare bravo a eseguire il debug del tuo codice e capire cosa succede in questo caso.
Possiamo andare passo dopo passo attraverso il codice, ma possiamo pensare che in realtà non abbiamo mai testato.
Questo non può funzionare.
E se guardiamo qui, la nostra rientranza è un po' storta.
Destra.
Abbiamo il controllo F, ma poi restituiamo sempre zero.
Questo ritorno dovrebbe essere così.
Dopo il ciclo for, dopo aver controllato tutto, nulla è stato trovato.
Allora dovremmo restituire zero.
Quindi, se salvo e lo eseguo di nuovo.
Bene, ora funziona, hai notato che un semplice, piccolo errore può darti risultati completamente
diversi.
Quindi è sempre bene procedere passo dopo passo e provare qualcosa con qualcosa che già sai che funziona.
Ed è anche importante usare le tue capacità di debugging che svilupperai durante il corso per cercare di capire
le cose.
Ora, nessun programmatore scriverà un programma perfetto proprio da esso, ma la maggior parte delle volte stai cercando
di capire perché stai ricevendo questo errore, perché sta succedendo.
E questo è solo qualcosa in cui diventi sempre più bravo mentre codifichi.
Quindi l'unica cura a questo è continuare a programmare.
Si spera che durante il corso tu abbia visto alcuni degli errori che commetto e come li eseguo il debug in modo
che anche tu inizi ad adottare questi schemi.
Comunque, questo è fantastico.
Questo sta finalmente funzionando.
Proviamo un altro paio di cose, diciamo tra poco e poi qualche sciocchezza.
Va bene, sembra che anche questo funzioni.
Questo e spettacolare.
Il nostro controllo password ora funziona.
Voglio fare un'altra cosa qui per finire questo progetto, quindi facciamolo nel prossimo video.