Ou pa dwe janm kenbe yon modpas nan tèks klè pandan w ap konfime yon itilizatè oswa w ap fè yon bagay ki sanble.
Piske anpil moun sèvi ak menm modpas la, si yon atakè dekouvri yon baz done modpas ki pa kode, yo ka fasilman itilize ansanm ak imèl matche pou antre nan sitwèb oswa kont ki lye a e menm itilize yo pou eseye jwenn lòt kont.
Modpas yo souvan hache jodi a lè yo bay yon modpas. Li rekòmande pou hache ak sèl epi kenbe sèl la ansanm ak modpas la hache.
Saling ta ka sanble youn nan etap yo nan yon resèt pou hash browns, men nan kriptografik, li refere a ajoute done o aza nan opinyon yon fonksyon hash pou asire ke hash la ap toujou bay yon rezilta inik menm si entrain yo idantik.
Kòm yon rezilta, hash diferan kreye pa ajoute sèl la ka defann nou kont plizyè metòd atak, ki gen ladan atak tab hash, pandan y ap toufe diksyonè ak fòs brital tantativ offline.
Isit la, avèk èd nan fragments kòd, nou pral montre kouman yo sèvi ak 'bcrypt' pou sekirize modpas ou yo.
Se konsa, ki sa ki 'bcrypt'?
Bcrypt se yon bibliyotèk hachaj ki sipòte plizyè lang epi ki bay modpas espesyal chifreman. Pou ogmante sekirite modpas ou a, li otomatikman pwodui lòt karaktè o aza (sèl) lè w ap chifre kòd ou a.
Ou ka chwazi tou pou defini konbyen karaktè adisyonèl ou vle ajoute nan yon fisèl fèk ap rantre.
Bibliyotèk bcrypt la sèlman li kòd byte, pa fisèl kri. Se poutèt sa, anvan ou soumèt yon kòd modpas fèk ap rantre nan bcrypt pou chifreman, ou dwe premye kode li.
Chide ak kode se pa menm bagay yo. Li jis asire w ke yon fisèl se machin-lizib anvan yo te kouvri pa yon teknik chifreman.
Sèvi ak bcrypt pou ankripte yon modpas nan Python
Python fè bcrypt modpas chifreman senp. Nou pral konsantre sou fè sa san èd nan yon fondasyon. Men, pa enkyete w, si ou konprann ki jan pou konsève pou antre itilizatè yo epi li yo nan baz done a, pwosedi a se menm bagay la nan kad.
Enstalasyon
Ou sèlman bezwen mete kanpe yon anviwònman vityèl Python ak Lè sa a, itilize yon IDE tankou PyCharm. Lè sa a, bibliyotèk la dwe enstale an premye:
Chifre modpas
Ann wè kijan pou itilize bcrypt pou ankripte yon tèks apre li fin enstale:
Kòd Python mansyone pi wo a egzekite ak pwodui yon kòd byte chiffres. Men, chak fwa ou kouri script la, rezilta a diferan. Bcrypt itilize metòd sa a pou asire ke chak itilizatè gen yon modpas ki spesifikman chiffres.
Sa, fortwit, se pou chifreman modpas.
Konparezon modpas ak konfimasyon lè l sèvi avèk Bcrypt
Kisa k ap pase si ou vle sove modpas la hache epi tcheke pita pou wè si li matche ak modpas yon itilizatè te soumèt pou otantifikasyon an?
Sa senp. Se sèlman modpas otantifikasyon an dwe konpare ak antre baz done a (oswa nan memwa nan ka sa a).
Modpas otantifikasyon an dwe tou kode anvan yo konpare ak youn nan baz done a paske bcrypt ka sèlman li strings byte. Fondamantalman, ou pral konpare yon opinyon otantifikasyon kode ak modpas kode hashed ou genyen kounye a nan baz done ou a.
Ann teste sa a lè nou itilize entrain Python fiktif:
Lè w fin kouri kòd susmansyone a, w ap mande w pou yon nouvo modpas. Sa a se sove nan memwa pa Python. Nan seksyon otantifikasyon an, w ap antre nan menm modpas la, ki prive pou ou.
Si yo konpare modpas la ak youn nan ki te deja chifre epi sove match la, Python emèt yon mesaj siksè.
Si ou pa, mesaj erè a enprime epi apre lòt fraz la ajoute.
Lide fondamantal la se ki idantik ak enskripsyon ak Lè sa a, bay yon modpas nan yon baz done pou otantifikasyon.
konklizyon
Menmsi nou te tou senpleman itilize modpas chiffres pou montre kouman bcrypt fonksyone nan plenn Python memwa kout, aplikasyon aktyèl li se nan aplikasyon itilizatè-baz yo.
Men, atik sa a montre metòd esansyèl pou òganize kòd ou a pou akonpli sa a, menm nan sikonstans mond reyèl la.
Pou egzanp, si w ap itilize Flask, ou ka bay jaden enskripsyon ak otantifikasyon atravè fòm entènèt separe olye pou yo antre.
Natirèlman, pandan y ap konpare modpas, ou pral li nan yon baz done ki gen modpas chiffres ke yo kenbe nan mond reyèl la.
Jona Nitsch
Mèsi pou eksplikasyon senp ak senp sa a,
Sa te ede m anpil nan pwojè mwen ye kounye a.
Mwen panse ke li trè bon ke kòd egzanp lan limite a minimòm nan epi li pa twò chaje tankou anpil lòt eksplikasyon.
Salitasyon