Ben tornato.
Continuiamo a costruire il nostro fantastico strumento, abbiamo il nostro controllo API dello stagno che converte solo la nostra password
in SHA.
Ma dobbiamo inviarlo all'API.
L'API della password, quindi cosa possiamo fare qui?
La prima cosa che vogliamo fare è ricordare, abbiamo bisogno solo dei primi cinque caratteri della nostra password o della password
con hash così possiamo fare qualcosa di divertente qui.
Possiamo dire i primi cinque caratteri.
E abbiamo anche quella che chiamiamo coda, quindi memorizzeremo i primi cinque caratteri nella
prima variabile e nella seconda variabile, memorizzeremo i rimanenti perché avremo bisogno di entrambi in
seguito .
Quindi qui dentro.
Possiamo semplicemente usare la piccola cosa che, beh, Python ci permette, che è questa piccola
sintassi carina per prendere solo l'inizio fino al quinto carattere.
E poi per la seconda parte.
I caratteri rimanenti, quindi a partire dal quinto indice fino alla fine.
Bello e facile.
E questo è qualcosa che abbiamo imparato prima.
Quindi ora abbiamo i primi cinque personaggi e il racconto.
E qui ora possiamo aggiungere questo ai nostri dati API di richiesta così ora posso chiamare i miei dati API di richiesta.
E qui dentro, diamoci bene, i primi cinque caratteri.
E parliamo solo della risposta qui.
Così.
Ora, vediamo che tipo di risposta otteniamo, quindi in realtà restituirò la risposta qui e solo
per assicurarci di fare tutto bene, stampiamo i primi cinque caratteri e anche la coda per
assicurarci che tutto funziona se eseguo questo.
Giusto, sembra che sto ottenendo i primi cinque caratteri, c'è uno spazio qui e
poi il rimanente e non arriviamo all'aria, sembra che la risposta funzioni.
Quindi stampiamo anche la risposta.
E assicurati che anche questo funzioni.
Sembra che riceviamo una risposta di duecento, ma non siamo ancora sicuri del tipo esatto di dati che
riceviamo.
Cosa possiamo fare qui?
Bene, voglio saperne di più su questi dati che restituiamo.
Quindi creiamo un'altra funzione qui.
E per ora, la chiameremo semplicemente risposta di lettura.
E daremo solo la risposta che otteniamo e qui, proviamo a leggere questa risposta,
possiamo effettivamente stampare il testo del punto di risposta qui.
Perché è una risposta API, quindi idealmente possiamo semplicemente leggere il testo, vediamo se fa qualcosa.
Quindi questa risposta di ritorno, l'avremo appena letta.
Risposta così.
Se eseguo questo.
Ehi, guarda, questa è la nostra risposta, come puoi vedere, è un sacco di password con hash.
Ce ne sono molti.
Sembra un paio di centinaia.
Quindi questo è ciò che otteniamo dalla nostra risposta utilizzando il testo del punto di risposta.
Otteniamo tutti gli hash che corrispondono all'inizio della nostra password con hash.
Molto bello.
Cosa possiamo fare concretamente.
Vedete qui come otteniamo ventiquattro, tre, uno.
E così via, questo mostra effettivamente quante volte queste password sono state violate.
È davvero fantastico.
Quindi idealmente, siamo in grado di prendere il conteggio, vedere se qualcuno di essi corrisponde alla nostra coda,
perché ora possiamo semplicemente controllare la coda e anche stampare il conteggio.
Quindi, invece di avere una funzione di risposta rossa, diamo un get.
Parola d'ordine.
perdite.
Funzione di conteggio che riceve gli hash o la risposta e l'hash effettivo.
Per verificare, qual è il nostro hash della password che dobbiamo confrontare, quindi controlleremo questo hash per
controllare e scorrere tutti gli hash.
Quindi possiamo fare qualcosa di nuovo, elegante con Python qui, possiamo dire che gli hash sono uguali.
E possiamo usare una tupla qui e possiamo effettivamente fare una comprensione, che abbiamo visto
prima, posso dire la linea che divide.
Quindi divideremo tutto nella riga, che è in base a queste colonne qui che puoi vedere, quindi questa è la
coda dell'hash e il numero di volte che è stato violato.
Quindi lo divideremo per Colin.
E poi eseguiremo il ciclo e diremo per la riga, quindi è da lì che viene la riga per la riga nel testo con
puntini di hash.
Ora, se lo lascio così, in realtà non funzionerà, e ti mostrerò perché tra un secondo, in realtà.
Facciamolo adesso.
Quindi vediamo cosa ci daranno gli hash di stampa.
Invece della risposta rossa, eseguiremo questa ora.
Quindi prendi l'account per le perdite di password e, se corro, cancelliamo questo.
Entro lì, beh, entro perché dobbiamo aggiungere anche l'hash per controllare.
Quindi quale dovrebbe essere il controllo del tag hash?
Bene, è il racconto, giusto?
La storia della nostra vera password.
Quindi aggiungerò il racconto al secondo parametro.
Salva ed esegui di nuovo.
Va bene, ricevo una risposta duecento e ottengo un oggetto generatore, questo oggetto generatore, possiamo effettivamente eseguire il
ciclo attraverso la velocità.
Quindi vediamo cosa succede se lo faccio per.
Ricorda, abbiamo l'hash e il conteggio.
Quindi facciamo hash H per hash e count e hash perché ricorda che abbiamo convertito in una tupla che ha l'hash
e poi il conteggio.
Perché ci stiamo separando, ricordi?
Quindi se facciamo questo.
Stampiamo l'età e contiamo.
Se eseguo questo.
Hmm, ricevo un errore del valore dell'aria, non abbastanza valori da decomprimere, cosa aspettavi di ottenere?
Hmmm, perché basta stampare H e vedere cosa succede.
E rimuovi il conteggio per ora.
Chiariamo questo ed eseguiamolo di nuovo.
Hmmm, sembra che non ci siamo divisi correttamente, ogni elemento è la sua lista.
Quindi in realtà dobbiamo usare qualcosa chiamato linee divise qui sulla nostra stringa e come puoi vedere.
Restituisce un elenco delle righe nella stringa.
E si rompe ai confini della riga, quindi quando eseguiamo effettivamente un ciclo for sul testo hash, se scorriamo verso l'alto,
vediamo se possiamo vederlo.
No, non c'è più.
Ma se scorriamo verso l'alto, abbiamo appena un enorme elenco di testo idealmente su ogni riga.
Lo dividiamo in modo che questa riga sia bene, invece di ogni singolo elemento, l'hash e il conteggio effettivi.
Quindi abbiamo solo bisogno di fare linee di divisione dei punti in questo modo.
Se lo salvo e corro di nuovo.
È molto meglio.
Quindi ora abbiamo quello che vogliamo, possiamo tornare ancora una volta a quello che avevamo prima, che è count,
e se stampiamo H e count, salviamo, eseguiamolo di nuovo.
Ed è molto meglio.
Abbiamo ogni elemento separato.
Facciamo una pausa e continuiamo così nel prossimo video.