W przypadku soli wyjątkowość jest ważniejsza niż długość i przewidywalność. Zakładasz, że atakujący ma sól.
Najlepiej byłoby użyć uniwersalnego unikalnego identyfikatora (UUID), a są przykłady, które generują uniwersalnie unikalne identyfikatory na stronie z dokumentacją dla php uniqueid() funkcjonować. UUID ma tę przewagę nad losowym ciągiem, że jest czytelny dla człowieka i ma stałą długość, dlatego można go przechowywać w polu varchar i używać unikalnego indeksu, aby mieć pewność, że nigdy nie będzie duplikatów.
Haszowanie czasu za pomocą MD5 jest powszechną metodą generowania unikalnych wartości, ponieważ ma stałą długość i jest czytelny dla człowieka. Jednak bardziej sensowne jest wygenerowanie losowego ciągu o stałej długości i samodzielne zakodowanie go w postaci szesnastkowej. Hasze nie są tak zaprojektowane, aby były unikatowe, ale są zaprojektowane tak, aby nie były odwracalne. Używanie funkcji mieszającej gwarantuje kolizje, chociaż będzie mniej kolizji z SHA1 niż MD5.
Długość soli jest tak naprawdę tylko czynnikiem, ponieważ im dłuższa sól, tym większe prawdopodobieństwo, że będzie ona uniwersalnie wyjątkowa.