In Ordnung, kommen wir zu unserem ersten Schritt beim Erstellen unseres sicheren Passwort-Checkers.
Jetzt habe ich hier einen Scheck, meine Passdatei, Sie können dasselbe tun, und dann
habe ich mein Terminal hier drüben, was wir tun möchten, ist zunächst das Anforderungsmodul zu importieren.
Wenn nicht, dann können Sie das Request-Modul installieren.
Das Anfragemodul ermöglicht es uns, eine Anfrage zu stellen.
Denken Sie also daran, es ist so, als hätten Sie einen Browser ohne den eigentlichen Browser.
Wir können einfach manuell etwas anfordern, als ob wir einen Browser hätten, und wir erhalten einige Daten zurück.
Die Art und Weise, wie wir ihr Anforderungsmodul mit der Passwort-API verwenden können, besteht darin, dass wir die Passwort-API-URL haben können,
von der ich Ihnen nur sage, was es ist.
Es ist https.
Colin Eglash API Dott lb Passwörter.
Dotcom.
Und dann geben wir ihm wieder einen Bereich, und hier geben wir ihm das Passwort, damit wir einfach plus tun können
und lassen Sie es uns erst einmal tun.
Passwort, eins, zwei, drei.
Das ist also die URL, die wir verwenden werden.
Machen wir das jetzt hier ein bisschen kleiner, wir werden eine Antwort erhalten, indem wir die
Anfragen ausführen.
Dot get und lass uns das einfach eingeben und sehen, was passiert.
Wenn ich dieses Programm speichere und ausführe und mich daran erinnere, können wir das Passwort noch nicht eingeben, also lassen Sie uns
einfach die Datei ausführen.
In Ordnung, wir bekommen also etwas, aber es sieht aus wie ein Fehler, und das liegt daran, dass ich https Selimi gemacht habe, aber das
möchte ich Ihnen noch einmal zeigen.
Ja, genau hier.
Ich kann die Fehler lesen und es sieht so aus, als ob es ein ungültiges Schema
ist, kein Verbindungsadapter für https.
Also, wenn Sie das noch einmal ausführen.
In Ordnung, es sieht so aus, als ob es funktioniert hat, keine Airs, aber drucken wir das aus, um zu sehen, warum
wir so eine Druckantwort erhalten, und ich werde es ausführen.
Und wir bekamen Antwort vierhundert.
Nun, eine Antwort oder vierhundert ist nicht gut.
Normalerweise bedeutet dies, dass nicht autorisiert oder etwas mit der API nicht stimmt.
Dies sind Antwortcodes, auf die wir im Abschnitt Webentwicklung des Kurses eingehen werden, aber es bedeutet
nur, dass wir für Hunderte, die nicht gut sind, zweihundert Antworten erhalten möchten.
Zweihundert bedeutet OK.
Und der Grund dafür ist, dass die API nicht so funktioniert.
Sie sehen hier, wir haben ihm gerade ein Passwort gegeben.
Aber die Art und Weise, wie diese API funktioniert, ist, dass sie etwas namens Hashing verwendet.
Was bedeutet das nun?
Ich werde nach dieser eine Bonuslektion einfügen, damit Sie ein wenig mehr über Hashing lernen können, aber ich habe
hier diese Website, auf die ich verlinken werde, und lasst uns diese etwas größer machen.
Hoffentlich können Sie sehen, dass es sich um einen abgenutzten Hash-Generator handelt.
Nun, das Hashing eines Passworts sollten Sie immer tun. Nehmen wir an, Sie speichern das Passwort eines
Benutzers.
Für eine Datenbank sollten Sie das Passwort eines Benutzers niemals in dem, was wir Klartext nennen, speichern, das ist genau das, was
das Passwort ist.
Stattdessen wollen wir etwas namens Hash-It machen, das heißt, es durch einen Hashing-Algorithmus laufen lassen, um es Kauderwelsch
zu machen.
Wenn ich hier also Passwort eins, zwei, drei eintippe und auf Generieren klicke und nach unten scrolle, ist dies das gehashte
Passwort.
Beachten Sie hier, dass sich, wenn ich dieses Passwort ändere, auch dieses ändert.
Aber der Schlüssel hier, und darüber werden wir in diesem Bonusvideo sprechen, ist, dass das Härten
eine Einwegfunktion ist.
Es gibt also viele verschiedene Hashing-Algorithmen.
Es gibt Modifikationen, es gibt Shahd, zwei, fünf, sechs.
Wir verwenden SHA One, weil dies von dieser API verwendet wird.
Und Sherwen im Wesentlichen nur Hashes.
Es ist ein Algorithmus, der eine Funktion ist, die diese schwammige Ausgabe des Passworts durchführt.
Eins zwei drei.
Aber egal wie oft wir ein Passwort generieren, eins, zwei, drei, es wird immer der gleiche
Hash sein.
Auf diese Weise können wir tatsächlich überprüfen, ob jemand ein Passwort eingibt und wir bereits die Hash-Version eines
Passworts haben und sagen wir, eine Datenbank, wir können die Hash-Version dieses Passworts tatsächlich wieder mit
dem gehashten Passwort der Datenbank vergleichen.
Lassen Sie sich hier nicht zu sehr verwirren.
Hoffentlich werden wir in diesem Bonusvideo etwas mehr darauf eingehen.
Aber das Wichtigste ist, dass diese API, weil wir so sicher wie möglich sein wollen, darin besteht, dass wir
unser echtes Passwort nicht über den Draht schicken wollen.
Stattdessen möchten wir diese gehashte Version unseres Passworts senden.
Wenn ich dies kopiere und hierher stelle, sollten wir dies an die API senden.
Aber hier ist das Problem, das ist immer noch nicht sehr sicher, weil jeder jetzt kommen und eingeben
und weiterraten kann, weiterraten, weiterraten und schließlich auf Passwort eins, zwei, drei tippen und sehen,
oh, dieser Hash ist genau derselbe einer wie dieser Hash.
So wissen sie, dass dies unser Passwort ist.
Diese API verwendet also eine Technik namens K-Anonymität, und dies ist tatsächlich eine moderne Technik, die große Unternehmen wie
Google, Facebook, Netflix und Amazon alle verwenden.
Die Anonymität von Kay ermöglicht es jemandem, Informationen über uns zu erhalten, aber immer noch nicht zu wissen, wer wir sind.
Wie funktioniert das übrigens, das ist eigentlich eine Technik, die viel verwendet wird, gerade
jetzt, wo die Verwendung personenbezogener Daten für Unternehmen verpönt ist.
Idealerweise möchten Sie Ihre personenbezogenen Daten also nicht an Unternehmen weitergeben.
Einige Unternehmen, denen Sicherheit und Datenschutz wichtig sind, verwenden diese wichtige Anonymität, um Sie zu verfolgen, wissen aber immer noch nicht,
wer Sie sind.
Nun, so funktioniert das.
Ist das, dass wir nur die ersten fünf Zeichen unseres Hash-Passworts angeben, also eins, zwei, drei, vier, fünf.
Wenn ich dies entferne, hat diese API eine Liste aller Passwörter, die durchgesickert sind.
Alle diese Passwörter werden jedoch mit dem SHA-One-Algorithmus gehasht.
Es wird also in seiner Datenbank all diese Passwörter durchsuchen und alle gehashten Passwörter auswählen, deren erste
fünf Zeichen damit übereinstimmen.
Auf diese Weise erhalten wir mit der Antwort alle gehashten Passwörter, die dies enthalten, sodass
wir auf unserer Seite, wenn wir diese Antwort erhalten, den Rest der Hash-Funktion auf diese Weise überprüfen können.
Diese API wird niemals unseren vollständigen Hash kennen und daher niemals in der Lage sein, unser Passwort zu erraten.
Sie wissen nur, dass wir diese winzige Hash-Funktion haben, die mit Hunderten von Passwörtern übereinstimmen kann.
Wie cool ist das?
Also wenn ich das wirklich sage und laufe.
Ich bekomme eine Antwort von zweihundert fantastisch.
Okay, machen wir eine Pause, lernen ein bisschen mehr über das Härten und sehen uns im nächsten Video.
Wiedersehen.