Como o medium.com (por exemplo) gera o hash do fragmento de URL?

4

Alguém identificou os scripts ou as técnicas usadas pelo medium.com (ou outro site popular) para gerar o que parece ser um valor de hash exclusivo após o fragmento de URL?

Exemplo criado: #.lfr25xei4

Eles mudam com cada atualização de página (pelo menos na minha experiência).

(Eu considerei perguntar isso no Stack Overflow, mas não tenho certeza se ele pertence lá.)

    
por Inactivist 09.08.2016 / 17:06

1 resposta

3

Eu sei que faz alguns meses desde que essa pergunta foi postada, mas eu me interessei pela mesma coisa e aqui estão minhas descobertas.

O hash é gerado no lado do cliente, em JavaScript, e é baseado no timestamp atual. O código é assim:

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
}

(funções foram renomeadas para clareza)

    
por 01.12.2016 / 01:07