Oké, laten we naar onze eerste stap gaan om onze veilige wachtwoordcontrole te bouwen.
Nu, hier heb ik een cheque, mijn paspoortbestand, je kunt hetzelfde doen, en dan
heb ik mijn terminal hier, wat we willen doen is in eerste instantie de aanvraagmodule importeren.
Als je dat nog niet hebt gedaan, dan kun je de aanvraagmodule installeren.
Met de aanvraagmodule kunnen we een aanvraag indienen.
Dus onthoud, het is net alsof je een browser hebt zonder, nou ja, de eigenlijke browser.
We kunnen gewoon handmatig iets opvragen alsof we een browser hebben en we krijgen wat gegevens terug.
Dus de manier waarop we hun aanvraagmodule met de wachtwoord-API kunnen gebruiken, is dat we de wachtwoord-API-URL kunnen hebben,
waarvan ik je gewoon zal vertellen wat het is.
Het is https.
Colin Eglash API Dott lb wachtwoorden.
Puntcom.
En dan geven we het weer een bereik, en hier geven we het het wachtwoord zodat we gewoon plus kunnen
doen en laten we het voorlopig doen.
Wachtwoord, een, twee, drie.
Dus dat is de URL die we gaan gebruiken.
Laten we dit een beetje kleiner maken, zoals nu hier, we gaan een reactie krijgen door de
verzoeken te doen.
Dot get en laten we dit gewoon intypen en kijken wat er gebeurt.
Als ik dit programma opsla en uitvoer en onthoud, we hebben nog niet de mogelijkheid om het wachtwoord in te voeren, dus laten we
het bestand gewoon uitvoeren.
Oké, dus we krijgen iets, maar het lijkt op een fout, en dat komt omdat ik https Selimi deed, maar nogmaals,
ik wil je dat laten zien.
Ja, hier.
Ik kan de fouten lezen en het lijkt erop dat het een ongeldig schema is, geen
verbindingsadapter voor, nou ja, https.
Dus als je dat nog een keer doet.
Oké, het lijkt erop dat het werkte, geen uitzendingen, maar laten we dit uitprinten om te zien waarom we
zo'n printreactie krijgen en ik ga dit uitvoeren.
En we kregen vierhonderd reacties.
Nu is een respons van vierhonderd niet goed.
Meestal betekent dat onbevoegd of is er iets niet in orde met de API.
Dit zijn responscodes waar we op zullen ingaan in het gedeelte Webontwikkeling van de cursus, maar
het betekent alleen dat voor honderden niet goed, we een respons van tweehonderd willen.
Tweehonderd betekent OK.
En de reden dat dit gebeurt, is omdat dit niet is hoe de API echt werkt.
Je ziet hier dat we het net een wachtwoord hebben gegeven.
Maar de manier waarop deze API werkt, is dat het iets gebruikt dat hashing wordt genoemd.
Wat betekent dat nu?
Ik ga hierna een bonusles toevoegen zodat je wat meer over hashen kunt leren, maar ik heb hier
deze website waarnaar ik ga linken en laten we deze een beetje groter maken.
Hopelijk kun je zien dat het een door de winkel gedragen hash-generator is.
Het hashen van een wachtwoord is iets dat u altijd moet doen, laten we zeggen dat u het wachtwoord van een gebruiker
opslaat.
Voor een database moet je nooit het wachtwoord van een gebruiker opslaan in wat we platte tekst noemen, dat is precies wat
het wachtwoord is.
In plaats daarvan willen we iets doen dat hash wordt genoemd, dat wil zeggen, het door een hash-algoritme laten lopen om het wartaal
te maken.
Dus als ik hier wachtwoord één, twee, drie doe en ik klik op genereren en ik scroll naar beneden, dan is dit het gehashte
wachtwoord.
Merk hier op dat als ik dit wachtwoord verander, dit ook verandert.
Maar de sleutel hier, en dit is iets waar we het in die bonusvideo over zullen hebben, is dat
harding een eenrichtingsfunctie is.
Er zijn dus veel verschillende hash-algoritmen.
Er zijn modificaties, er is Shahd, twee, vijf, zes.
We gebruiken SHA one omdat dit is wat deze API gebruikt.
En Sherwen is in wezen gewoon hashes.
Het is een algoritme dat een functie is die deze warrige uitvoer van het wachtwoord uitvoert.
Een twee drie.
Maar het maakt niet uit hoe vaak we een wachtwoord genereren, één, twee, drie, het zal altijd dezelfde
hash zijn.
Dus op deze manier kunnen we echt controleren of iemand een wachtwoord typt en we hebben al de gehashte versie
van een wachtwoord en laten we zeggen een database, we kunnen de hash-versie van dit wachtwoord opnieuw vergelijken
met het gehashte wachtwoord van de database.
Raak hier niet te verward.
Hopelijk zullen we dit in die bonusvideo wat meer bespreken.
Maar het belangrijkste is dat deze API, omdat we zo veilig mogelijk willen zijn, we ons echte
wachtwoord niet via de kabel willen sturen.
In plaats daarvan willen we deze gehashte versie van ons wachtwoord verzenden.
Dus als ik dit kopieer en hier plaats, is dit wat we naar de API zouden moeten sturen.
Maar hier is het probleem, dit is nog steeds niet superveilig omdat iedereen nu kan komen typen en blijven
raden, blijven raden, blijven raden en uiteindelijk op wachtwoord één, twee, drie klikken en kijk,
oh, deze hash is precies hetzelfde een als deze hash.
Zodat ze weten dat dit ons wachtwoord is.
Deze API gebruikt dus een techniek die K-anonimiteit wordt genoemd, en dit is eigenlijk een moderne techniek die grote bedrijven zoals
Google, Facebook, Netflix en Amazon allemaal gebruiken.
Kay anonimiteit stelt iemand in staat informatie over ons te ontvangen, maar nog steeds niet te weten wie we zijn.
Hoe werkt dit trouwens, dit is eigenlijk een techniek die veel gebruikt wordt, zeker
nu het gebruik van persoonsgegevens voor bedrijven afgekeurd wordt.
Dus idealiter wil je je persoonlijke gegevens niet aan bedrijven geven.
Sommige bedrijven die veiligheid en privacy belangrijk vinden, gebruiken deze belangrijke anonimiteit om u te volgen, maar weten nog steeds niet
wie u bent.
Nu, de manier waarop dit werkt.
Is dat we alleen de eerste vijf tekens van ons hash-wachtwoord geven, dus één, twee, drie, vier, vijf.
Dus als ik dit verwijder, heeft deze API een lijst met alle wachtwoorden die zijn gelekt.
Al die wachtwoorden worden echter gehasht met het SHA one-algoritme.
Dus het gaat in zijn database met al deze wachtwoorden kijken en alle gehashte wachtwoorden kiezen met de eerste
vijf tekens die hiermee overeenkomen.
Dus op deze manier krijgen we met het antwoord alle wachtwoorden die zijn gehasht die dit hebben,
zodat we aan onze kant, wanneer we dat antwoord ontvangen, de rest van de hash-functie op deze manier kunnen controleren.
Deze API zal nooit onze volledige hash kennen en zal daarom nooit ons wachtwoord kunnen raden.
Ze zullen gewoon weten dat we een kleine hashfunctie hebben die honderden wachtwoorden kan matchen.
Hoe cool is dat?
Dus als ik dit echt zeg en wegloop.
Ik krijg een respons van tweehonderd geweldig.
Oké, laten we een pauze nemen, wat meer leren over harding en tot ziens in de volgende video.
Doei.