Class: PageRankr::Ranks::Google::Checksum

Inherits:
Object
  • Object
show all
Defined in:
lib/page_rankr/ranks/google/checksum.rb

Class Method Summary collapse

Class Method Details

.generate(site) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/page_rankr/ranks/google/checksum.rb', line 6

def generate(site)
  bytes  = byte_array(site)
  length = bytes.length
  a = b = 0x9E3779B9
  c = 0xE6359A60

  k, len = 0, length
  while(len >= 12)
    a, b, c = mix(*shift(a, b, c, k, bytes))
    k += 12
    len -= 12
  end

  c = c + length

  c = mix(*toss(a, b, c, bytes, len, k))[2]
  "6" + c.to_s
end