Willkommen zurück.
Wir haben gerade etwas über die Passwort-API erfahren und wie diese API es uns ermöglicht, niemandem zu vertrauen.
Das heißt, wir vertrauen nur uns selbst und geben der API nur die Informationen weiter,
die wir uns wohl fühlen, damit sie uns eine Antwort mit einigen Daten gibt, die wir dann auf
unseren eigenen, hypothetisch sichereren Maschinen berechnen können .
Was wir hier also gemacht haben, ist, dass wir, anstatt den gesamten Hash unseres Passworts anzugeben, nur einen kleinen Teil davon
angeben.
Die ersten fünf Zeichen haben jetzt fast sechshundert Millionen Passwörter in ihrer Datenbank.
Und die Website weiß jetzt vielleicht nur, dass wir Teil von mehreren hundert Leuten sind, die einen ähnlichen Start-Hash haben,
aber sie werden unser Passwort nie erfahren.
Aber mit diesen Antwortdaten können wir jetzt unseren vollständigen Hash überprüfen, um zu sehen, ob das Passwort jemals geöffnet
oder gehackt wurde.
Beginnen wir also mit dem Schreiben unseres Programms, denn idealerweise habe ich in dieser Antwort jetzt vielleicht mehrere
hundert Listen dieser Hashes, die ich überprüfen kann.
Denken wir darüber nach, was wir tun wollen.
Im Idealfall haben wir also, sagen wir, eine Funktion und diese Funktion wird die Anfrage sein.
API.
Data, das haben wir hier gemacht, also werden wir das hier unten verschieben, sobald wir fertig sind, und
hier geben wir ihm die Quarrie-Charaktere.
Das heißt, wir geben ihm diese gehashte Version unseres Passworts.
Dies wird also eine Funktion sein, die wir vorerst einfach übergeben werden.
Dies wird jedoch unsere Daten anfordern und uns eine Antwort geben.
Als nächstes möchten wir mit dieser Antwort tatsächlich überprüfen, ob wir den Teich-API-Check überprüfen möchten, und hier
geben wir unser Passwort ein.
Das ist unser tatsächliches Passwort, in unserem Fall wird es Passwort eins, zwei, drei sein.
Und hier drinnen wollen wir eine Art Scheck machen, wir wollen Scheck sagen.
Passwort, wenn es in der API vorhanden ist.
Antwort.
Von hier oben.
Also lassen wir das vorerst einfach so.
Lassen Sie uns also an der ersten arbeiten, die API-Daten anfordert.
Einiges davon haben wir hier schon gemacht.
Rechts?
Ich werde diesen Code tatsächlich verschieben.
Hier oben.
Stellen Sie sicher, dass wir hier die Auffüllung anstelle dieser Stärke haben. Ich gebe dem Abfragezeichen, mit dem
wir die Funktion aufrufen, tatsächlich einen dynamischen Charakter.
Und wieder fordern wir, dass Ihre URL die Antwort enthält, und hier werden wir eine Überprüfung durchführen.
Wir sagen, ob der Status der Antwort Punkt ist, denn denken Sie daran, wir können unsere Antwort überprüfen, wenn der Status zweihundert ist oder in diesem
Fall , sagen wir, wenn der Status ungleich zweihundert ist.
In diesem Fall geben wir einfach einen Fehler aus.
Also sage ich raise, wir machen einen Laufzeitfehler und sagen, naja, verwenden wir einen F-String und wir sagen.
Fehler.
Holen, und dann geben wir ihm den Status Quo.
Das ist die Reaktion, dieser Status.
Und eigentlich ist dies der Statuscode, also lassen Sie uns hier einfach den Statuscode eingeben und dann sagen wir einfach check.
Die API und versuchen Sie es erneut.
In Ordnung, das sollte unsere Luft sein, wenn wir einen Fehler machen.
Lass uns das einfach testen.
Ich werde einfach eine API erstellen, die nicht existiert.
Also habe ich hier nur ein bisschen Kauderwelsch geschrieben.
Wenn ich das speichere und ausführe.
Nun, ich muss diesen Code tatsächlich ausführen, also fordern wir einfach API-Daten an und das Abfragezeichen wird
sein.
Eins zwei drei.
Und wissen Sie was, es wird darüber ausgestrahlt, ob ich das tue oder nicht.
Also lass uns das einfach machen, weil es nicht die harte Version ist.
Und ich bekomme tatsächlich einen Python-Fehler vom Typ error kann nur String verketten, nicht Ent. , also können wir dies einfach in eine Stärke
umwandeln, denn denken Sie daran, wir fügen es hier hinzu.
Nochmal, wenn wir dabei wären.
In Ordnung, sehen Sie sich das an, wir haben einen Laufzeitfehler ausgelöst.
Wir haben eine Laufzeit, die er ähm vierhundert holt, überprüfen Sie die API und versuchen Sie es erneut.
Alles klar, dieser Teil funktioniert.
Aber in diesem Fall, wenn wir diese Luft nicht haben, sagen wir einfach, dass wir die Antwort erneut zurückgeben, wir schreiben in diesem Fall nur
kleine, einfache Funktionen, wir möchten nur API-Daten anfordern, damit wir sie jetzt verwenden können es in
unserem gesamten Code.
Fantastisch.
Nun, dieser nächste Teil ist ein wenig knifflig, weil wir unser Passwort durch den SHA-One-Algorithmus laufen lassen müssen.
Glücklicherweise hat Python ein eingebautes Modul, damit wir dies tun können, damit wir tatsächlich Hash-Lippen importieren können.
Wie Sie sehen, handelt es sich um ein integriertes Modul, sodass Sie bei Bedarf mehr darüber nachlesen können.
In unserem Fall können wir mit dieser Bibliothek eine Show zum Thema Härten machen, wie wir es auf unserer Website gemacht haben.
Hier drin wollen wir zuallererst in der Lage sein, mein Passwort zu hashen, also entfernen wir die Vergangenheit
hier und sagen sha ein Passwort und wir können den Hash live wie diese Hash-Lib verwenden Punkt sha one, das ist der
Hashing-Algorithmus, den wir verwenden möchten.
Und das wird ein wenig knifflig, aber Sie können einfach die Dokumentation lesen.
Ich zeige dir nur, wie es geht.
In unserem Fall können wir ein Passwort erstellen und möchten in UTF 8 kodieren.
Was eigentlich ziemlich Standard ist, weißt du was, lass mich dir zeigen, was das bewirkt.
Also sage ich Drucken und ich werde nur Passwort und UTF 8 codieren.
Also lass uns das jetzt einfach machen.
Zur Zeit.
Ich werde das kommentieren.
Also werde ich LB API check aufrufen und wir machen eins, zwei, drei.
Lassen Sie uns diesen Punkt löschen, um diesen Code zu speichern und auszuführen.
In Ordnung, es ist codiert, Sie sehen diese kleine Biene hier in UTF 8. Ich zeige Ihnen, was
passiert, wenn wir die Codierung danach entfernen.
Als nächstes verwenden wir das Hash Leyb Sean.
Also lass mich das einfach kopieren.
Wenn ich das nur laufe.
Ich erhalte ein sha one Hash-Objekt.
Danach können wir Dot Hecks Digest so aufrufen und wenn ich das starte.
Hmm, wie können wir das überprüfen?
Nun, wir können schlafen gehen und einfach nach Hecks Digest suchen.
Sie können hier also jederzeit nach dem Digest der Verkettung der Daten fragen, bla, bla,
bla, hex Digest, also erklärt uns das nicht wirklich.
Gehen wir einfach zum nächsten Teil und zum nächsten Teil und sie werden Hecks Digest.
Es gibt ein String-Objekt von Double-Leth zurück, das nur hexadezimale Ziffern enthält.
Dies ist nur etwas, das wir tun müssen, um dieses Objekt in diesen hexadezimalen String umzuwandeln.
Der nächste Teil, um der API zuzustimmen, besteht darin, all dies in Großbuchstaben umzuwandeln.
Also wenn ich hier oben bin.
Und ich speichere und führe dies erneut aus, alles ist in Großbuchstaben, genau wie wir es gesehen haben, als wir uns eines angesehen haben.
Dies ist also nur etwas, das Sie nicht wirklich wissen müssen.
Sie müssen nur herumgooglen und sehen, wie Sie dies tatsächlich verwenden.
Lassen Sie mich Ihnen nun zeigen, was passiert, wenn wir UTF 8 und Code nicht verwenden.
Also, wenn ich es einfach so mache und das führe.
Sie sehen, dass ich Luft bekomme.
Die Unicode-Objekte müssen vor dem Hashing codiert werden, daher erhalten Sie tatsächlich einen netten Fehler und wenn wir
einfach so mit UTF 8 codieren können.
Das ist also nur der Standard.
Wieder nichts zu verrücktes.
Sie können sich über die Kodierung informieren und wenn Sie möchten, selbst.
Der Schlüssel hier ist, dass wir am Ende ein Charr haben, ein Passwort, das wir senden können.
Also lass mich das alles einfach kopieren.
Werde den Druck entfernen.
Und hier drin haben wir unser Sean-Passwort, großartig.
Also lassen Sie uns diesen Shahd vorerst zurückgeben.
Passwort.
Und wenn ich das laufe.
Nun, es sieht so aus, als ob unser Code funktioniert, wir drucken nichts, aber hoffentlich.
Wir starten diese Show gerade im nächsten Video, ich möchte tatsächlich versuchen, dies an unsere API zu senden und
zu sehen, welche Art von Antwort wir erhalten.
Lass uns das tun.
Machen Sie eine Pause.
Wir sehen uns im nächsten.