sql >> Database teknologi >  >> RDS >> Mysql

Unikt tekstfelt i MySQL og php

For en salt er unikhed vigtigere end længde og forudsigelighed. Du antager, at angriberen har saltet.

En universelt unik identifikator (UUID) ville være bedst, og der er eksempler, der genererer universelt unikke identifikatorer på doc-siden for php uniqueid() fungere. Et UUID har fordelen i forhold til en tilfældig streng ved, at det er læseligt for mennesker og en fast længde, derfor kan du gemme det i et varchar-felt og bruge et unikt indeks for at sikre, at der aldrig er dubletter.

Hashing af tiden med MD5 er en almindelig metode til at generere unikke værdier, fordi den har en fast længde og kan læses af mennesker. Det giver dog mere mening bare at generere en tilfældig streng med fast længde og selv kode den til hex. Hashes er ikke designet til at være unikke, så meget som de er designet til ikke at være reversible. Brug af en hashing-funktion garanterer kollisioner, selvom der vil være færre kollisioner med SHA1 end MD5.

Længden af ​​saltet er egentlig kun en faktor, fordi jo længere saltet er, jo mere sandsynligt er det, at det er universelt unikt.



  1. MySQL:Vælg alle datoer i et interval, selvom der ikke er nogen registreringer til stede

  2. Hvordan får man vist typen af ​​en variabel i PL/SQL?

  3. SQL Server Collection Inventory Script -1

  4. Oracle 10g - optimer WHERE IS NOT NULL