Ich weiß, es ist einige Monate vergangen, seit diese Frage veröffentlicht wurde, aber ich interessierte mich für dasselbe und hier sind meine Ergebnisse.
Der Hash wird clientseitig in Javascript generiert und basiert auf dem aktuellen Zeitstempel. Der Code sieht so aus:
hash = generateHash().substr(0, 9) generateHash = function() { return Math.floor(2147483648 * Math.random()).toString(36) + Math.abs(Math.floor(2147483648 * Math.random()) ^ (0, getTimestamp)()).toString(36) } getTimestamp = Date.now || function() { return +new Date }
(Funktionen wurden aus Gründen der Übersichtlichkeit umbenannt)