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

Уникално текстово поле в MySQL и php

За една сол уникалността е по-важна от дължината и предвидимостта. Предполагате, че нападателят има солта.

Най-добре би бил универсален уникален идентификатор (UUID) и има примери, които генерират универсални уникални идентификатори на страницата с документ за php uniqueid() функция. UUID има предимство пред произволния низ, тъй като е четим от човека и е с фиксирана дължина, следователно можете да го съхранявате в поле за varchar и да използвате уникален индекс, за да сте сигурни, че никога няма да има дублирани.

Хеширането на времето с MD5 е често срещан метод за генериране на уникални стойности, тъй като има фиксирана дължина и е четим от човека. Въпреки това, има по-голям смисъл просто да генерирате произволен низ с фиксирана дължина и сами да го кодирате в шестнадесетичен. Хешовете не са предназначени толкова за уникалност, колкото са проектирани да не са обратими. Използването на функция за хеширане гарантира сблъсъци, въпреки че ще има по-малко колизии със SHA1, отколкото MD5.

Дължината на солта всъщност е само фактор, защото колкото по-дълга е солта, толкова по-вероятно е тя да бъде универсално уникална.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разрешим грешка в без заявка в четеца на данни?

  2. Направете автоматично увеличение за запълване на изтрития номер

  3. Как да заредите атрибути от свързани модели с sequelize.js

  4. MySql разлика между две времеви марки в секунди?

  5. Не може да се свърже с mysql чрез сървлет