Како чувати и верификовати лозинку?
- Прави начин за складиштење
- Зашто хасх?
- Зашто користити со?
- Зашто додати пријаву?
- Верификација
Ако развијете апликацију која управља лозинкама, важно је да то урадите под ризиком од пиратерије система и угрозите кориснике података.
Постоји добра пракса за чување лозинке.
Прави начин за складиштење
Похраните логин и хасх (логин + пассворд + салт)
Псеудо-код: пассвордХасх = МД5МД5 (логин + "зо5про $ 1пвкхј6 * цз4а8утвб # уи4оеуио" + лозинка)
Сторе анд пассвордХасх логин. Не чувајте лозинку.
Зашто хасх?
Никада не би требало да чувамо лозинку у јасном тексту.
- Ризик: Ако неко провали у вашу базу података лозинки, може их преузети и користити директно.
- Заштита: хасх који се користи за израчунавање отиска прста. Пошто алгоритам није реверзибилан, не може одмах да пронађе лозинку из хасх-а.
- Због тога користимо криптографски хеш. Обично МД5, СХА-1 или други (СХА-256, СХА-512 ...)
- Никада не користите ЦРЦ или ЦРЦ32 .
Зашто користити со?
Раинбов-табеле су велике табеле које садрже хасх (МД5, и други) који се пре-рачунају.
То вам омогућава да брзо пронађете лозинку која је дала одређени хасх.
Ризик : Ако само користите МД5 (лозинка), раинбов-таблице омогућавају опоравак лозинке за МД5 за неколико минута, чак и секунди.
Заштита : Користећи со, ово чини да су столови за дугу потпуно непотребни.
Сол је произвољна вредност, дужина по вашем избору. Поставите га као константу у вашој апликацији.
Зашто додати пријаву?
Ако само похрањујете МД5 (салт + пассворд) или МД5 (пассворд), то значи да ће два корисника с истом лозинком имати исти хасх.
- Ризик: Можете лако да идентификујете кориснике са истом лозинком. Ако је корисник угрожен, он омогућава тренутни приступ другим корисницима (који могу имати већа права).
- Заштита: Додавањем логин-а прије хасхер-а, МД5 резултат ће бити различит за сваког корисника, чак и ако имају исту лозинку.
Верификација
Када примите логин и лозинку, једноставно поновите исти израчун:
- Погледајте у своју базу, за хасх за ову пријаву
- Упоредите вредност хасх-а (логин + салт + пассворд)
- Ако су две хасхеве идентичне, унета лозинка је исправна.
Захваљујући себсауваге за овај тип.