We komen zo dichtbij dat ik de finish bijna kan zien, dus houd vol.
We hebben nu het geld en de rekening zodat we deze functie van dat wachtwoord, LexCorp hier, kunnen afronden terwijl we
door elk item gaan. Wat willen we controleren?
Welnu, we willen controleren of de hash hier het verhaal van de hash is.
Is gelijk aan hash om te controleren, onthoud, hash to check is het einde van ons gehashte wachtwoord dat we
nooit naar iemand op onze eigen computer hebben gestuurd.
Dus het is mooi en veilig.
En we gaan dit controleren omdat de API ons een lijst van deze hashes met een staart heeft teruggestuurd.
Dus als dat goed overeenkomt, in dat geval, wil ik dat je de telling teruggeeft.
Dus ik wil teruggeven hoe vaak dit wachtwoord is gelekt.
Anders gewoon terugsturen.
Nul.
Nogmaals, ik kan dit doen omdat het uit deze lus gaat wanneer het het return-sleutelwoord nu
in mijn vijver-API-controle ziet, ik ga deze functie uitvoeren, wat inhoudt dat ik al deze informatie ga pakken en de
telling teruggeeft van de keren dat het gehashte wachtwoord is gelekt.
We hebben dus nog één ding te doen, namelijk de mogelijkheid om het resultaat van al deze berekeningen daadwerkelijk uit
te printen.
Dus laten we dit voor nu verwijderen en een hoofdfunctie maken.
En de belangrijkste functie is het ontvangen van de argumenten die we het hier in onze opdrachtregel
geven, dus we gaan, zoals je misschien eerder hebt gezien, de servicemodule importeren.
En hier hebben we een hoofdfunctie die de argumenten ontvangt, dat zijn de wachtwoorden die
we willen controleren en voor nu zullen we het hier doorgeven.
Maar onderaan gaan we de hoofdfunctie aanroepen.
Met het Swiss dot org-visum en accepteer een willekeurig aantal argumenten nadat we de Python drie hebben gedaan, controleer mijn verleden Stoppie en dan geven we
het alle argumenten die we willen, wat de wachtwoorden zijn.
Dus we gaan de functie als volgt uitvoeren.
Deze hoofdfunctie, het enige wat het gaat doen, is dat we het wachtwoord en de argumenten gaan zeggen omdat we het
meerdere wachtwoorden kunnen geven.
We gaan dat doornemen.
En we krijgen een SHA-wachtwoord.
En een telling of we doen gewoon de telling, want we gaan de telling ontvangen van de telling van wachtwoordlekken
ophalen.
Dus we kunnen dat doen door gewoon een API-controle van het pond uit te voeren.
En we geven het door, het wachtwoord dat we controleren.
En alles wat we gaan doen is eigenlijk binnen dit blok, laten we zeggen, als telling in dat geval bestaat,
wil ik dat je een F-tekenreeks afdrukt en deze F-reeks gaat zeggen.
De.
Wachtwoord dat we doorlopen.
Werd de telling gevonden van hoe vaak.
En dan zullen we zeggen dat je waarschijnlijk moet veranderen.
Je wachtwoord.
Anders.
Als dat betekent dat er geen telling is, dat wil zeggen dat er geen overeenkomsten waren, dan zit je goed, kunnen we zeggen.
Gevoelige snaar.
Wachtwoord.
Was niet gevonden.
Ga door.
Dus dat is een goed wachtwoord, je moet doorgaan, je bent helemaal goed.
En tot slot, gewoon voor de lol, laten we deze functie weer verlaten.
Opbrengst.
Zo maar gedaan.
Als ik dit zeg, laten we eens kijken wat dit ons geeft, ik ga Python drie zeggen, controleer mijn pas en laten we het gewoon
controleren.
Hallo.
Ik krijg hallo was niet leuk om door te gaan, maar we weten dat hallo eerder is gevonden, toch?
Ik bedoel, dat is een eenvoudig wachtwoord.
We zouden hier eigenlijk iets goeds moeten krijgen.
Nu wil ik ook dit antwoord van print verwijderen omdat we het niet meer nodig hebben.
Zie jij de fout?
Nogmaals, dit is een beetje een lastig onderdeel met Python, toch?
Het is de inkeping in iets dat we eerder hebben gezien.
Dus je wilt goed worden in het debuggen van je eigen code en uitzoeken wat er in dit geval gebeurt.
We kunnen stap voor stap door de code gaan, maar we kunnen denken dat we het eigenlijk nooit hebben getest.
Dit kan niet functioneren.
En als we hier kijken, is onze inspringing een beetje uit.
Rechts.
We hebben de F-check, maar dan geven we altijd nul terug.
Deze terugkeer zou zo moeten zijn.
Na de for-lus, nadat we alles hebben gecontroleerd, is er niets gevonden.
Dan moeten we nul teruggeven.
Dus als ik dit opsla en opnieuw uitvoer.
Oké, nu werkt het, je hebt gemerkt dat een simpele, kleine fout je totaal andere resultaten kan
geven.
Het is dus altijd goed om stap voor stap iets uit te proberen met iets waarvan je al weet dat het werkt.
En het is ook belangrijk om je debugging-vaardigheden die je tijdens de cursus zult ontwikkelen te gebruiken om dingen uit
te zoeken.
Nu, geen enkele programmeur zal er meteen een perfect programma van schrijven, maar meestal probeer je erachter te
komen waarom je deze fout krijgt, waarom dit gebeurt.
En dit is gewoon iets waar je steeds beter in wordt terwijl je codeert.
Dus de enige remedie hiervoor is om gewoon te blijven coderen.
Hopelijk heb je tijdens de cursus enkele van de fouten gezien die ik maak en hoe ik ze debug, zodat
je deze patronen ook begint over te nemen.
Dit is in ieder geval geweldig.
Dit werkt eindelijk.
Laten we nog een paar dingen proberen, laten we zeggen, en dan wat gebrabbel.
Oké, het lijkt erop dat dit ook werkt.
Dit is geweldig.
Onze wachtwoordchecker werkt nu.
Ik wil hier nog één ding doen om dit project af te ronden, dus laten we dat in de volgende video doen.