Ben tornato.
Abbiamo appena appreso dell'API delle password e di come questa API non ci consente di fidarci di nessuno.
Cioè, ci fidiamo solo di noi stessi e daremo solo le informazioni che ci sentiamo
a nostro agio all'API in modo che ci dia una risposta con alcuni dati che possiamo quindi calcolare sulle
nostre macchine che sono ipoteticamente più sicure .
Quindi quello che abbiamo fatto qui è che invece di dare l'intero hash della nostra password, ne diamo solo un
po'.
I primi cinque caratteri ora hanno quasi seicento milioni di password nel loro database.
E il sito web ora forse sa solo che facciamo parte di diverse centinaia di persone che hanno un hash iniziale
simile, ma non conosceranno mai la nostra password.
Ma con questi dati di risposta, ora possiamo controllare il nostro hash completo per vedere se la password è mai stata aperta o se
è mai stata violata.
Quindi iniziamo a scrivere il nostro programma, perché idealmente in questa risposta, ora ho forse diverse centinaia di
elenchi di questi hash che posso confrontare.
Pensiamo a cosa vogliamo fare.
Quindi, idealmente, abbiamo, diciamo, una funzione e questa funzione sarà la richiesta.
API.
Data, che è quello che abbiamo fatto qui, quindi lo sposteremo qui una volta che saremo pronti e qui
gli daremo i personaggi di Quarrie.
Quindi gli daremo questa versione con hash della nostra password.
Quindi questa sarà una funzione che per ora passeremo.
Ma questo richiederà i nostri dati e ci darà una risposta.
Successivamente, con questa risposta, vogliamo effettivamente controllare, quindi possiamo dire che vogliamo controllare il controllo API dello stagno
e qui daremo la nostra password.
Questa è la nostra vera password nel nostro caso sarà la password uno, due, tre.
E qui dentro, vogliamo fare una sorta di assegno, vogliamo dire assegno.
Password se esiste nell'API.
Risposta.
Da quassù.
Quindi per ora, lo supereremo.
Quindi lavoriamo sul primo che è richiedere dati API.
Abbiamo già fatto qualcosa di questo qui.
Destra?
In realtà sposterò questo codice.
Qui su.
Assicurati di avere il padding ora qui invece di questa forza, in realtà darò il carattere di query con cui
chiameremo la funzione in modo che sia dinamico.
E ancora, chiederemo che il tuo URL abbia la risposta e qui faremo un controllo,
diremo se lo stato del punto di risposta perché ricorda, possiamo controllare la nostra risposta se lo stato è duecento o in questo caso
, diciamo, se lo stato non è uguale a duecento.
In tal caso, solleviamo un errore.
Quindi dirò raise faremo un errore di runtime e diremo, beh, usiamo una stringa F e diremo.
Errore.
Recupero, e poi gli daremo lo status quo.
Quindi questa è la risposta, quello stato.
E in realtà, questo è il codice di stato, quindi facciamo solo il codice di stato qui e poi diremo solo check.
L'API e riprovare.
Va bene, quindi questa dovrebbe essere la nostra aria se commettiamo un errore.
Mettiamolo alla prova.
Farò solo un'API che non esiste.
Quindi ho appena scritto alcune parole senza senso qui.
Se salvo ed eseguo questo.
Bene, devo effettivamente eseguire questo pezzo di codice, quindi richiediamo solo i dati API e il carattere della
query sarà.
Uno due tre.
E sai una cosa, questo andrà in onda sul fatto che lo faccia o meno.
Quindi facciamolo perché non è la versione dura.
E in realtà ottengo un errore python di tipo errore che può solo concatenare la stringa, non Ent. , quindi possiamo semplicemente convertirlo in un
punto di forza perché ricorda, lo stiamo aggiungendo qui.
Di nuovo, se fossimo su questo.
Va bene, guarda, abbiamo generato un errore di runtime.
Abbiamo un runtime che sta recuperando quattrocento, controlla l'API e riprova.
Va bene, quindi questa parte sta funzionando.
Ma in questo caso, se non abbiamo quell'aria, diciamo solo che restituiremo di nuovo la risposta, stiamo solo scrivendo funzioni piccole e
semplici in questo caso, vogliamo solo richiedere i dati API, quindi ora possiamo usare tutto
il nostro codice.
Stupendo.
Ora, questa parte successiva è un po' complicata perché dobbiamo eseguire la nostra password tramite l'algoritmo SHA one.
Fortunatamente, Python ha un modulo integrato per noi per farlo, così possiamo effettivamente importare hash lip.
Come puoi vedere, è un modulo integrato, quindi puoi leggere di più su di esso se vuoi.
Nel nostro caso, siamo in grado di fare uno spettacolo sull'asprezza come abbiamo fatto sul nostro sito web con questa libreria.
Qui dentro, quello che faremo è, prima di tutto, voglio essere in grado di eseguire l'hash della mia password,
quindi rimuoviamo il passato qui e diciamo sha una password e possiamo usare l'hash live come questo hash lib dot sha one, che è
l'algoritmo di hashing che vogliamo usare.
E questo sarà un po' complicato, ma puoi semplicemente leggere la documentazione.
Ti mostrerò solo come farlo.
Nel nostro caso possiamo fare la password e vogliamo codificare in UTF otto.
Che è abbastanza standard, in realtà, sai cosa, lascia che ti mostri cosa fa.
Quindi dirò stampa e farò solo password e codice UTF otto.
Quindi facciamolo per ora.
Per adesso.
Lo commenterò.
Quindi chiamerò LB API check e ne faremo uno, due, tre.
Chiariamo questo punto per salvare ed eseguire questo pezzo di codice.
Va bene, è codificato, vedi questa piccola ape qui in UTF otto, ti mostrerò cosa succede
quando rimuoviamo la codifica dopo questo.
Successivamente, quando usiamo l'hash Leyb Sean.
Quindi lasciami copiare questo.
Se eseguo solo questo.
Ricevo un oggetto hash sha one.
Ora, dopo questo, possiamo chiamare Dot Hecks Digest in questo modo e se eseguo questo.
Hmmm, beh, come possiamo verificarlo?
Bene, possiamo andare a dormire e cercare semplicemente Hecks Digest.
Quindi qui, in qualsiasi momento, puoi chiedere il digest della concatenazione dei dati, blah, blah, blah,
hex digest, quindi questo non ci spiega davvero nulla.
Andiamo alla parte successiva e alla parte successiva e loro fanno Hecks Digest.
Restituisce un oggetto stringa di double leth contenente solo cifre esadecimali.
Questo è solo qualcosa che dobbiamo fare per convertire questo oggetto in questa stringa esadecimale.
La parte successiva per essere d'accordo con l'API è convertire tutto questo in maiuscolo.
Quindi se lo faccio quassù.
E lo salvo ed eseguo di nuovo, tutto è in maiuscolo, proprio come abbiamo visto quando ne abbiamo guardato uno.
Quindi questo è solo qualcosa che, ancora una volta, non hai davvero bisogno di sapere.
Devi solo cercare su Google in giro e vedere come usarlo effettivamente.
Ora, lascia che ti mostri cosa succede quando non usiamo UTF otto e codice.
Quindi, se lo faccio in questo modo e lo eseguo.
Vedi che prendo aria.
Gli oggetti Unicode devono essere codificati prima dell'hashing, quindi in realtà ti dà un bel errore e se possiamo semplicemente
codificare usando UTF otto in quel modo.
Quindi questo è solo lo standard.
Ancora una volta, niente di troppo pazzo.
Puoi leggere sulla codifica e se vuoi da solo.
La chiave qui è che alla fine abbiamo un Charr, una password che possiamo inviare.
Quindi lasciami copiare tutto questo.
Andando a rimuovere la stampa.
E qui dentro avremo la nostra password Sean, fantastico.
Quindi per ora, restituiamo solo questo Shahd.
Parola d'ordine.
E se eseguo questo.
Bene, sembra che il nostro codice funzioni, non stiamo stampando nulla, ma si spera.
Stiamo trasmettendo questo spettacolo proprio ora nel prossimo video, in realtà voglio provare a inviarlo alla nostra API
e vedere che tipo di risposta otteniamo.
Facciamolo.
Fare una pausa.
Ci vediamo alla prossima.