Та хэрэглэгчийг баталгаажуулах эсвэл үүнтэй төстэй зүйл хийхдээ хэзээ ч нууц үгээ энгийн текст хэлбэрээр хадгалах ёсгүй.
Олон хүмүүс ижил нууц үгийг ашигладаг тул халдагчид шифрлэгдээгүй нууц үгүүдийн мэдээллийн санг олж мэдвэл тэдгээр нь холбогдох цахим хуудас эсвэл бүртгэл рүү нэвтрэхийн тулд тохирох имэйлийн хамт хялбархан ашиглагдаж, бусад бүртгэл рүү нэвтрэхийг оролдоход ч ашиглаж болно.
Өнөөдөр нууц үг өгөх үед нууц үг ихэвчлэн хэшлэгдсэн байдаг. Давстай хэш хийж, давсыг нууц үгтэй хамт байлгахыг зөвлөж байна.
Давслах нь хэш борын жорны нэг алхам мэт санагдаж болох ч криптографийн хувьд энэ нь хэш функцийн оролтод санамсаргүй өгөгдөл нэмэхийг хэлнэ, энэ нь оролт нь ижил байсан ч хэш нь үргэлж өвөрмөц үр дүнг өгөх болно.
Үүний үр дүнд давс нэмснээр үүссэн өвөрмөц хэш нь толь бичиг, бүдүүлэг офлайн оролдлогуудыг боомилж, хэш хүснэгтийн дайралт зэрэг хэд хэдэн халдлагын аргаас хамгаалж чадна.
Энд бид кодын хэсгүүдийн тусламжтайгаар нууц үгээ хамгаалахын тулд "bcrypt"-ийг хэрхэн ашиглахыг харуулах болно.
Тэгэхээр "bcrypt" гэж юу вэ?
Bcrypt бол хэд хэдэн хэлийг дэмждэг хэш номын сан бөгөөд тусгай нууц үгийн шифрлэлтийг хангадаг. Таны нууц үгийн аюулгүй байдлыг нэмэгдүүлэхийн тулд энэ нь таны мөрийг шифрлэх үед автоматаар нэмэлт санамсаргүй тэмдэгт (давс) үүсгэдэг.
Та мөн ирж буй мөрөнд хэдэн тэмдэгт нэмэхийг хүсч байгаагаа тодорхойлж болно.
bcrypt номын сан нь зөвхөн байт кодыг уншдаг бөгөөд түүхий мөрүүдийг уншдаггүй. Тиймээс, ирж буй нууц үгийн мөрийг шифрлэхийн тулд bcrypt руу илгээхээсээ өмнө эхлээд үүнийг кодлох хэрэгтэй.
Шифрлэлт, кодчилол нь ижил зүйл биш юм. Энэ нь шифрлэлтийн техникээр далдлахын өмнө мөрийг машинд унших боломжтой эсэхийг л баталгаажуулдаг.
Python дээр нууц үгээ шифрлэхийн тулд bcrypt ашиглах
Python нь bcrypt нууц үгийн шифрлэлтийг хялбар болгодог. Бид хүрээний тусламжгүйгээр үүнийг хийхэд анхаарлаа төвлөрүүлэх болно. Гэхдээ санаа зоволтгүй, хэрвээ та хэрэглэгчийн оруулсан мэдээллийг хэрхэн хадгалж, мэдээллийн сангаас уншихаа ойлгосон бол уг процедур нь фреймворк дээр адилхан байна.
суурилуулах ажил
Та зөвхөн Python виртуал орчинг тохируулаад дараа нь PyCharm шиг IDE-г ашиглах хэрэгтэй. Дараа нь номын санг эхлээд суулгах ёстой:
Нууц үгийг шифрлэж байна
Текстийг суулгасны дараа bcrypt ашиглан хэрхэн шифрлэхийг үзье.
Дээр дурдсан Python код нь шифрлэгдсэн байт мөрийг ажиллуулж, гаргана. Гэхдээ скриптийг ажиллуулах болгонд үр дүн нь өөр байдаг. Bcrypt нь хэрэглэгч бүр тусгайлан шифрлэгдсэн нууц үгтэй байхын тулд энэ аргыг ашигладаг.
Энэ нь нууц үгээр шифрлэхэд зориулагдсан.
Bcrypt ашиглан нууц үгийн харьцуулалт ба баталгаажуулалт
Хэрэв та нууц үгээ хадгалаад дараа нь хэрэглэгчийн баталгаажуулалтад оруулсан нууц үгтэй таарч байгаа эсэхийг шалгахыг хүсвэл яах вэ?
Энэ бол энгийн. Зөвхөн баталгаажуулах нууц үгийг мэдээллийн сангийн оруулгатай харьцуулах ёстой (эсвэл энэ тохиолдолд санах ойд).
bcrypt нь зөвхөн байт мөрүүдийг уншиж чаддаг тул баталгаажуулах нууц үгийг мэдээллийн сан дахь нууц үгтэй харьцуулахаасаа өмнө кодлох ёстой. Үндсэндээ та кодлогдсон нэвтрэлт танилтын оролтыг өөрийн мэдээллийн санд байгаа кодлогдсон хэш нууц үгтэй харьцуулах болно.
Үүнийг Python-ийн зохиомол оролтуудыг ашиглан туршиж үзье:
Дээр дурдсан кодыг ажиллуулсны дараа танаас шинэ нууц үг оруулахыг хүсэх болно. Үүнийг Python санах ойд хадгалсан. Баталгаажуулах хэсэгт та нууц үгээ оруулна.
Хэрэв нууц үгээ өмнө нь шифрлэж хадгалсан нууц үгтэй харьцуулвал Python амжилттай гэсэн мессежийг гаргадаг.
Үгүй бол алдааны мэдэгдлийг хэвлэж, дараа нь else өгүүлбэрийг нэмнэ.
Үндсэн санаа нь бүртгүүлэх, дараа нь баталгаажуулахын тулд мэдээллийн санд нууц үг оруулахтай адил юм.
Дүгнэлт
Энгийн Python богино санах ойд bcrypt хэрхэн ажилладагийг харуулахын тулд бид зүгээр л шифрлэгдсэн нууц үгүүдийг ашигласан ч түүний бодит хэрэглэгдэхүүн нь хэрэглэгчийн суурь програмуудад байдаг.
Гэсэн хэдий ч энэ нийтлэл нь бодит нөхцөл байдалд ч гэсэн үүнийг хэрэгжүүлэхийн тулд кодыг зохион байгуулах үндсэн аргуудыг харуулж байна.
Жишээлбэл, хэрэв та Flask ашиглаж байгаа бол бүртгэл болон баталгаажуулалтын талбаруудыг оруулгын оронд тусдаа вэб маягтаар өгөх боломжтой.
Мэдээжийн хэрэг, нууц үгүүдийг харьцуулах явцад та бодит ертөнцөд хадгалагдаж буй шифрлэгдсэн нууц үгийг агуулсан мэдээллийн сангаас унших болно.
Жона Нитч
Энэ энгийн бөгөөд энгийн тайлбарт баярлалаа,
Энэ нь миний одоогийн төсөлд маш их тусалсан.
Жишээ код нь хамгийн багадаа хязгаарлагдаж, бусад олон тайлбар шиг хэт ачаалалгүй байгаа нь маш сайн хэрэг гэж би бодож байна.
хүндэтгэсэн