

Ask HN: What hashing algorithm does goo.gl use? - richardg


======
reemrevnivek
It's not a pure hash; the same URL can be used many times to generate
independent URLs. Using only the input of '<http://google.com> generated the
following URLs in a brief test:

    
    
        aw9RP    fzUmL    n4UNp    V0Nre
        AYp1X    OFw3w    oQnRL    RyICJ
        eMioQ    sUcjC    mzmKE    i8NyH
        42R3d    9XYcV    6KpEd    TCve2
        tzNUd    pRMdn    QbmDx    WYaqH
        Ju74J    gqmYd    kilG8    AFe1P
        HiyI8    uqJal    qj5mZ    MzzwK
        WU8tK    QJlwz    vEqhL    1hdpl
        bBWCx    CQgWq    3avus    m8S7A
        ufJ4v    YBlWF    7T4cX    1ypMQ
        8zgUA    Sslwf    9HTDt    7t8ji
        AqedO    qyJNj    6rdR4    zRzcv
        0wkJ9    Zmf4l    rV5aK    af7cE
        ix0TO    bvNbb    p4cKS    m3vjc
        SXAnj    DcLA2    JRwiP    IdTQK

~~~
staunch
It's likely not hash at all, just a unique identifier.

------
staunch
I assume they're just random numbers encoded in "base 62" or similar.

<http://birdhouse.org/blog/2010/10/24/base62-urls-django/>

~~~
reemrevnivek
It would be base72; they use all the lowercase numbers, all the uppercase
numbers, and all the digits.

~~~
staunch
How is it base72?

    
    
      A-Z = 26
      a-z = 26
      0-9 = 10
    
      26 + 26 + 10 = 62

~~~
reemrevnivek
derp. The GP's page said "... goal page URIs consisting of characters from
this set:

    
    
        BASE62 = "abcdefghijklmnopqrstuvwxyz0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
    

I missed the numbers in the middle. How embarrassing. Time to get offline...

