Þú mátt aldrei geyma lykilorð í einföldum texta meðan þú staðfestir notanda eða gerir eitthvað svipað.
Þar sem margir einstaklingar nota sama lykilorð, ef árásarmaður uppgötvar gagnagrunn með ódulkóðuðum lykilorðum, er auðvelt að nota þau í tengslum við samsvarandi tölvupóst til að komast inn á tengda vefsíðu eða reikning og jafnvel notað til að reyna að fá aðgang að öðrum reikningum.
Lykilorð eru oft hashed í dag þegar lykilorð er til staðar. Ráðlagt er að hassa með salti og geyma saltið saman við hashed lykilorðið.
Saltun gæti virst vera eitt af skrefunum í uppskrift að kjötkássa, en í dulmáli vísar það til þess að bæta handahófskenndum gögnum við inntak kjötkássafalls til að tryggja að kjötkássa muni alltaf gefa einstaka niðurstöðu jafnvel þótt inntakin séu eins.
Fyrir vikið getur sérstakt kjötkássaefni sem skapast með því að bæta við salti varið okkur fyrir nokkrum árásaraðferðum, þar á meðal árásum á hassborði, á sama tíma og það kæfir orðabók og tilraunir án nettengingar.
Hér, með hjálp kóðabúta, munum við sýna hvernig á að nota 'bcrypt' til að tryggja lykilorðin þín.
Svo, hvað er 'bcrypt'?
Bcrypt er hashing bókasafn sem styður nokkur tungumál og veitir sérstaka dulkóðun lykilorða. Til að auka öryggi lykilorðsins þíns framleiðir það sjálfkrafa fleiri handahófskennda stafi (salt) þegar þú dulkóðar strenginn þinn.
Þú getur líka valið að skilgreina hversu mörgum stöfum til viðbótar þú vilt bæta við komandi streng.
Bcrypt bókasafnið les aðeins bætikóða, ekki hráa strengi. Þess vegna, áður en þú sendir inn komandi lykilorðsstreng til bcrypt fyrir dulkóðun, verður þú fyrst að umrita hann.
Dulkóðun og kóðun eru ekki sami hluturinn. Það tryggir bara að strengur sé læsilegur í vél áður en hann er hulinn með dulkóðunartækni.
Notkun bcrypt til að dulkóða lykilorð í Python
Python gerir bcrypt lykilorð dulkóðun einfalda. Við munum einbeita okkur að því að gera þetta án þess að nota ramma. En ekki hafa áhyggjur, ef þú skilur hvernig á að vista notendainntak og lesa þau úr gagnagrunninum, þá er aðferðin sú sama í ramma.
uppsetning
Þú þarft aðeins að setja upp Python sýndarumhverfi og nota síðan IDE eins og PyCharm. Fyrst verður að setja bókasafnið upp:
Dulkóðar lykilorð
Við skulum sjá hvernig á að nota bcrypt til að dulkóða texta eftir að hann hefur verið settur upp:
Fyrrnefndur Python kóða keyrir og gefur út dulkóðaðan bætastreng. En í hvert skipti sem þú keyrir handritið er niðurstaðan önnur. Bcrypt notar þessa aðferð til að tryggja að allir notendur hafi lykilorð sem er sérstaklega dulkóðað.
Það er tilviljun fyrir dulkóðun lykilorðs.
Lykilorðssamanburður og staðfesting með Bcrypt
Hvað gerist ef þú vilt vista hashed lykilorðið og athugaðu síðar hvort það passi við lykilorðið sem notandi sendi inn til auðkenningar?
Það er einfalt. Aðeins verður að bera saman auðkenningarlykilorðið við færslu gagnagrunnsins (eða í minni í þessu tilfelli).
Auðkenningarlykilorðið verður einnig að kóða áður en það er borið saman við það sem er í gagnagrunninum vegna þess að bcrypt getur aðeins lesið bætistrengi. Í grundvallaratriðum muntu bera saman dulkóðað auðkenningarinntak við dulkóðaða hashed lykilorðið sem þú ert með í gagnagrunninum þínum.
Við skulum prófa þetta með því að nota gervi Python inntak:
Þegar þú keyrir ofangreindan kóða ertu beðinn um nýtt lykilorð. Þetta er vistað í minni af Python. Í auðkenningarhlutanum muntu síðan slá inn sama lykilorðið, sem er persónulegt fyrir þig.
Ef lykilorðið er borið saman og það sem áður var dulkóðað og vistað samsvörun, gefur Python frá sér árangursskilaboð.
Ef ekki, eru villuboðin prentuð út og síðan er hinni setningin bætt við.
Grundvallarhugmyndin er sú sama og að skrá og gefa síðan lykilorð í gagnagrunn til auðkenningar.
Niðurstaða
Jafnvel þó að við höfum einfaldlega notað dulkóðuð lykilorð til að sýna hvernig bcrypt virkar í venjulegu Python stuttminni, þá liggur raunverulegt notagildi þess í notendaforritum.
Engu að síður sýnir þessi grein nauðsynlegar aðferðir til að skipuleggja kóðann þinn til að ná þessu, jafnvel við raunverulegar aðstæður.
Til dæmis, ef þú ert að nota Flask, geturðu gefið upp skráningar- og auðkenningareitina með sérstökum vefeyðublöðum í stað inntaks.
Auðvitað, á meðan þú berð saman lykilorð, muntu lesa úr gagnagrunni sem inniheldur dulkóðuð lykilorð sem eru geymd í hinum raunverulega heimi.
Jóna Nitsch
Þakka þér fyrir þessa einföldu og einföldu útskýringu,
Þetta hjálpaði mér mikið í núverandi verkefni mínu.
Ég held að það sé mjög gott að dæmikóðinn sé takmarkaður við lágmarkið og ekki ofhlaðinn eins og svo margar aðrar skýringar.
Bestu kveðjur