Zapomnij o używaniu długich hashy MD5 i SHA1 generowanych z nie wiadomo jakich unikalnych ciągów. Jeśli jeszcze nie znasz funkcji uniqid to najwyższy czas ją poznać.
Dwie najczęściej wykorzystywane metody do generowania hashy to właśnie MD5 i SHA1. Są one jednak o tyle nieporęczne, że trzeba podawać jako ich argumenty unikalne ciągi znaków. Z tych ciągów zostaną wygenerowane unikalne hashe. Poza tym MD5 generuje 32 znaki, a SHA1 42. Dla mnie trochę za długie.
Kiedy potrzebujesz krótkiego unikalnego hasha bez zbędnych sztuk, użyj funkcji uniqid.
Bierze ona dwa parametry:
- prefix – ciąg znaków który zostanie dodany przed hashem
- more_entropy – dosłownie „większa entropia”. Hash będzie miał doklejone dodatkowe 8 cyfr po kropce. Czyli dodatkowe 9 unikalnych znaków.
Przykłady użycia
Szybko i łatwo
echo uniqid();
Dostaniesz: 54cfe6848dbe6
Prefix? Proszę bardzo
echo uniqid('prefix_');
Dostaniesz: prefix_54cfe6848dbe6
Większa szansa na unikalny hash
echo uniqid('', true);
Dostaniesz: 54cfe6848dbe6.97845079
Jak to działa
uniqid generuje hash z bieżącego czasu w mikrosekundach.
Racja, możesz zrobić też:
md5(microtime());
Ale po co się męczyć?
Chyba skorzystam :)