Mysql
 sql >> база данни >  >> RDS >> Mysql

Какво е солта, когато се отнася до MYSQL sha1?

Солта е стойност, която се добавя към парола (или друга тайна), която искате да хеширате по един начин. Това означава, че може да бъде преди, след или някъде вътре в паролата, стига нейната позиция и стойност да са последователни за дадена предоставена парола.

Това, което прави, е, че смекчава атаките с речници - основно речници на обичайни пароли, предварително хеширани без сол - от използването им за "отгатване" на еднопосочна парола, стига нападателят да не знае хеша. Ако всяка парола има различен хеш, това прави много трудно за нападателя да създаде речник, оптимизиран за разбиване на вашите пароли (ще им е необходим речник за всяка отделна сол и също така ще трябва да знаят къде е поставена солта във всяка парола ).

Разбира се, за да е приложимо всичко това, нападателят трябва да има хешовете на вашите пароли на първо място. Това няма нищо общо с атакуването на пароли чрез отгатването им чрез някаква подкана за въвеждане.

Що се отнася конкретно до MySQL, ако предоставите сол при хеширане на парола, уверете се, че записвате каква е била тази сол някъде. След това, когато потребителят се опита да се удостовери, вие комбинирате тази записана стойност на сол с паролата (по време на повикването до crypt например) и ако полученият хеш съвпада, значи те са въвели правилната парола. (Обърнете внимание, че хеширането на парола в нито един момент не се обръща; по този начин еднопосочно.)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вмъкване/актуализиране на помощна функция с помощта на PDO

  2. MySQL LIMIT при израза DELETE

  3. Как да заявя sql с активен запис за дати между определени времена

  4. Изпълнението на MySQL израза отнема повече от минута

  5. Как да синхронизирам Mysql с Bigquery в реално време?