web-dev-qa-db-ja.com

(たとえば)medium.comはどのようにしてURLフラグメントハッシュを生成しますか?

誰かがmedium.com(または他の人気のあるサイト)がURLフラグメントの後に一意のハッシュ値のように見えるものを生成するために使用するスクリプトまたは手法を特定しましたか?

不自然な例:#.lfr25xei4

それらはページが更新されるたびに変化します(少なくとも私の経験では)。

(私はこれをStack Overflowで尋ねることを検討しましたが、そこに属しているかどうかはわかりません。)

4
Inactivist

この質問が投稿されてから数か月が経ちましたが、同じことに興味を持ちました。これが私の発見です。

ハッシュはクライアント側でJavascriptで生成され、現在のタイムスタンプに基づいています。コードは次のようになります。

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
}

(関数はわかりやすくするために名前が変更されました)

3
piotr.d