Muszę wygenerować unikatowy hash - może z timestamp. hasz musi mieć maksymalnie 8 znaków. Jak to zrobić?Jak wygenerować hash z timestamp?
Na razie mam tylko timestamp:
var t = new Date().getTime();
Muszę wygenerować unikatowy hash - może z timestamp. hasz musi mieć maksymalnie 8 znaków. Jak to zrobić?Jak wygenerować hash z timestamp?
Na razie mam tylko timestamp:
var t = new Date().getTime();
To może wyglądać śmiesznie, ale następujący kod może działać dobrze przez kilka następnych stuleci :)
(+new Date).toString(36); // "iepii89m"
potem można rozszerzyć ją metoda krojenia: (+new Date).toString(36).slice(-8)
.
A jeśli chcesz zminimalizować możliwość kolizji, możesz spróbować tego: '((+ nowa data) + Math.random() * 100) .toString (32)' –
@DanielSokolowski Dlaczego miałoby to pomóc w minimalizowaniu możliwość kolizji? Twierdzę, że jest dokładnie odwrotnie. – Michal
Będziesz musiał użyć biblioteki do wygenerowania hasza. Możesz spróbować: https://code.google.com/p/crypto-js/ – Vivek
[Pokrewne: Wygeneruj 8-znakowy skrót z liczby całkowitej] (http://stackoverflow.com/questions/2520794/php- generate-an-8-character-hash-from-an-integer) – usandfriends
możliwy duplikat [Utwórz GUID/UUID w JavaScript?] (http://stackoverflow.com/questions/105034/create-guid-uuid-in- javascript) – Limnic