Dir däerft ni e Passwuert am Kloertext halen wann Dir e Benotzer bestätegt oder eppes ähnleches maacht.
Zënter vill Individuen datselwecht Passwuert benotzen, wann en Ugräifer eng Datebank vun onverschlësselte Passwierder entdeckt, kënne se einfach a Verbindung mat passenden E-Maile benotzt ginn fir op déi verlinkt Websäit oder Kont anzegoen a souguer benotzt fir ze probéieren op aner Konten ze kommen.
Passwierder ginn haut dacks gehat wann e Passwuert geliwwert gëtt. Et gëtt ugeroden mat Salz ze hashen an d'Salz zesumme mam hashed Passwuert ze halen.
Salting kéint schéngen wéi ee vun de Schrëtt an engem Rezept fir Hash Browns, awer a Kryptografie bezitt et sech op Zoufallsdaten un den Input vun enger Hashfunktioun ze addéieren fir sécherzestellen datt den Hash ëmmer en eenzegaartegt Resultat gëtt, och wann d'Inputen identesch sinn.
Als Resultat kann de markanten Hash erstallt duerch d'Salz derbäisetzen eis vu verschiddenen Attackmethoden verteidegen, dorënner Hash-Table Attentater, wärend d'Wierderbuch a brute-force offline Versuche stéieren.
Hei, mat der Hëllef vu Code Snippets, wäerte mir weisen wéi Dir 'bcrypt' benotzt fir Är Passwierder ze sécheren.
Also, wat ass 'bcrypt'?
Bcrypt ass eng Hash-Bibliothéik déi verschidde Sproochen ënnerstëtzt a speziell Passwuertverschlësselung ubitt. Fir d'Sécherheet vun Ärem Passwuert ze erhéijen, produzéiert et automatesch zousätzlech zoufälleg Zeechen (Salz) wann Dir Är String verschlësselt.
Dir kënnt och wielen fir ze definéieren wéivill zousätzlech Zeechen Dir wëllt an eng erakommen String addéieren.
D'bcrypt Bibliothéik liest nëmme Byte Code, net rau Strings. Dofir, ier Dir en erakommende Passwuert String op bcrypt fir Verschlësselung ofginn, musst Dir et als éischt codéieren.
Verschlësselung a Kodéierung sinn net déiselwecht Saachen. Et mécht just sécher datt e String Maschinn liesbar ass ier se vun enger Verschlësselungstechnik ofgedeckt gëtt.
Benotzt bcrypt fir e Passwuert am Python ze verschlësselen
Python mécht bcrypt Passwuert Verschlësselung einfach. Mir konzentréieren eis drop ze maachen ouni Hëllef vun engem Kader. Awer maach der keng Suergen, wann Dir versteet wéi Dir Benotzerinputen späichert an se aus der Datebank liest, ass d'Prozedur déiselwecht a Kaderen.
Installatioun
Dir braucht nëmmen e Python virtuell Ëmfeld opzestellen an dann eng IDE wéi PyCharm benotzen. D'Bibliothéik muss dann als éischt installéiert ginn:
Passwuert verschlësselen
Loosst eis kucken wéi Dir bcrypt benotzt fir en Text ze verschlësselen nodeems se installéiert ass:
Dee genannte Python-Code fiert an e verschlësselte Byte-String aus. Awer all Kéier wann Dir de Skript leeft, ass d'Resultat anescht. Bcrypt benotzt dës Method fir sécherzestellen datt all Benotzer e Passwuert huet dat speziell verschlësselt ass.
Dat ass iwwregens fir Passwuertverschlësselung.
Passwuertverglach a Bestätegung Mat Bcrypt
Wat geschitt wann Dir dat hashed Passwuert späichere wëllt a spéider iwwerpréift fir ze kucken ob et mam Passwuert entsprécht e Benotzer fir d'Authentifikatioun ofgeliwwert huet?
Dat ass einfach. Nëmmen d'Authentifizéierungspasswuert muss mat der Datebank vun der Datebank verglach ginn (oder an dësem Fall an Erënnerung).
D'Authentifizéierungspasswuert muss och kodéiert ginn ier et mat deem an der Datebank verglach gëtt, well bcrypt kann nëmme Byte Strings liesen. Prinzipiell vergläicht Dir e kodéierten Authentifikatiounsinput mat dat kodéiert hashed Passwuert dat Dir am Moment an Ärer Datebank hutt.
Loosst eis dëst testen andeems Dir fiktiv Python-Inputen benotzt:
Wann Dir de genannte Code leeft, gitt Dir gefrot fir en neit Passwuert. Dëst gëtt an der Erënnerung vum Python gespäichert. An der Authentifikatiounssektioun gitt Dir dann datselwecht Passwuert aginn, dat fir Iech privat ass.
Wann d'Passwuert verglach gëtt an deen deen virdru verschlësselt an de Match gespäichert gouf, emitt Python e Succès Message.
Wann net, gëtt d'Fehlermeldung gedréckt an dann gëtt deen anere Saz derbäigesat.
D'fundamental Iddi ass identesch mat der Enregistréiere an dann e Passwuert un eng Datebank fir Authentifikatioun ze liwweren.
Konklusioun
Och wa mir einfach verschlësselte Passwierder benotzt hunn fir ze weisen wéi bcrypt funktionnéiert am einfache Python Kuerzgediechtnis, läit seng aktuell Uwendung a Benotzerbasis Apps.
Trotzdem weist dësen Artikel déi wesentlech Methoden fir Äre Code z'organiséieren fir dëst z'erreechen, och an real-Welt Ëmstänn.
Zum Beispill, wann Dir Flask benotzt, kënnt Dir d'Registrierungs- an Authentifikatiounsfelder iwwer getrennte Webformulairen amplaz vun Inputen ubidden.
Natierlech, wärend Dir Passwierder vergläicht, liest Dir aus enger Datebank déi verschlësselte Passwierder enthält déi an der realer Welt gehale ginn.
Jona Nitsch
Merci fir dës einfach an einfach Erklärung,
Dëst huet mir vill gehollef a mengem aktuelle Projet.
Ech mengen et ass ganz gutt datt de Beispillcode op de Minimum limitéiert ass an net iwwerlaascht ass wéi sou vill aner Erklärungen.
Mat beschten Gréiss