Ùn deve mai mantene una password in testu chjaru mentre cunfirmate un utilizatore o fate qualcosa simili.
Siccomu assai persone utilizanu a stessa password, se un attaccu scopre una basa di dati di password micca criptate, ponu esse facilmente utilizati in cunghjunzione cù e-mail currispondenti per entra in u situ web o contu ligatu è ancu utilizatu per pruvà à accede à altri cunti.
I password sò spessu hashed oghje quandu una password hè furnita. Hè cunsigliatu di chjappà cù u salinu è mantene u salinu cù a password hashed.
A salatura pò esse cum'è unu di i passi in una ricetta per hash browns, ma in a criptografia, si riferisce à l'aghjunzione di dati aleatorii à l'input di una funzione di hash per assicurà chì l'hash sempre furnisce un risultatu unicu ancu s'è l'inputs sò idèntici.
In u risultatu, l'hash distintivu creatu aghjunghjendu u sali pò difendeci da parechji metudi di attaccu, cumpresi l'assalti di tavulinu di hash, mentre chì suffocà u dizziunariu è i tentativi offline di forza bruta.
Quì, cù l'aiutu di snippets di codice, dimustraremu cumu utilizà 'bcrypt' per assicurà e vostre password.
Allora, chì hè "bcrypt"?
Bcrypt hè una biblioteca di hashing chì sustene parechje lingue è furnisce una criptografia di password speciale. Per aumentà a sicurità di a vostra password, pruduce automaticamente caratteri aleatori supplementari (sale) quandu cifri a vostra stringa.
Pudete ancu sceglie di definisce quanti caratteri supplementari vulete aghjunghje à una stringa entrante.
A libreria bcrypt leghje solu codice di byte, micca strings crude. Dunque, prima di mandà una stringa di password in entrata à bcrypt per a criptografia, duvete prima codificà.
A codificazione è a codificazione ùn sò micca listessi cose. Solu assicura chì una stringa hè leggibile da a macchina prima di esse coperta da una tecnica di criptografia.
Utilizà bcrypt per criptà una password in Python
Python rende a crittografia di password bcrypt simplice. Ci concentreremu à fà questu senza l'aiutu di un quadru. Ma ùn vi preoccupate, se capisce cumu salvà l'inputs di l'utilizatori è leghje da a basa di dati, a prucedura hè a stessa in i frameworks.
stallanu
Solu bisognu di stallà un ambiente virtuale Python è dopu aduprà un IDE cum'è PyCharm. A biblioteca deve esse installata prima:
Encrypting password
Videmu cumu utilizà bcrypt per criptà un testu dopu chì hè statu installatu:
U codice Python sopra citatu eseguisce è produce una stringa di byte cifrata. Ma ogni volta chì eseguite u script, u risultatu hè diversu. Bcrypt usa stu metudu per assicurà chì ogni utilizatore hà una password chì hè specificamente criptata.
Chì, incidentalmente, hè per a criptografia di password.
Comparazione di password è cunferma cù Bcrypt
Chì succede se vulete salvà a password hashed è verificate dopu per vede s'ellu currisponde à a password chì un utilizatore hà sottumessu per l'autentificazione?
Hè simplice. Solu a password di autentificazione deve esse paragunata à l'entrata di a basa di dati (o in memoria in questu casu).
A password di autentificazione deve ancu esse codificata prima di esse paragunata à quella in a basa di dati perchè bcrypt pò leghje solu stringhe di byte. In fondu, paragunate un input di autentificazione codificata à a password codificata hashed chì avete attualmente in a vostra basa di dati.
Testemu questu utilizendu inputs Python fittizi:
Dopu à eseguisce u codice sopra citatu, vi hè dumandatu per una nova password. Questu hè salvatu in memoria da Python. In a rùbbrica di autentificazione, entrerete tandu a stessa password, chì hè privata per voi.
Se a password hè paragunata è quella chì era prima criptata è salvata a partita, Python emette un missaghju di successu.
Se no, u missaghju d'errore hè stampatu è dopu l'altru sentenza hè aghjuntu.
L'idea fundamentale hè identica à quella di registrà è dopu furnisce una password à una basa di dati per l'autentificazione.
cunchiusioni
Ancu s'è avemu simpliciamente utilizatu password criptate per dimustrà cumu funzioni bcrypt in una memoria corta di Python, a so applicabilità attuale si trova in l'applicazioni di basa d'utilizatori.
Tuttavia, stu articulu mostra i metudi essenziali per urganizà u vostru codice per fà questu, ancu in circustanze di u mondu reale.
Per esempiu, sè vo aduprate Flask, pudete furnisce i campi di registrazione è autentificazione via forme web separati invece di input.
Di sicuru, mentre paragunate e password, leghjite da una basa di dati chì cuntene password criptate chì sò guardate in u mondu reale.
Jona Nitsch
Grazie per sta spiegazione simplice è simplice,
Questu m'hà aiutatu assai in u mo prughjettu attuale.
Pensu chì hè assai bonu chì u codice di l'esempiu hè limitatu à u minimu minimu è micca sovraccarico cum'è tante altre spiegazioni.
Saluti curdiali