Sha256: a080c3fe9a9e8a20565e7429736b68eb8f0ccd3b502a15a9ed3d439224332a00
Contents?: true
Size: 661 Bytes
Versions: 1
Compression:
Stored size: 661 Bytes
Contents
require "./lib/simple-hasher/version" module SimpleHasher ALLOWED_CHARS = "CLK0oXklU2d6RvTrS1aDBx9GfN3e7FnQOtsmPi85MYq4AWHbZIuwJEgjVhpzyc" def self.encode(id) length = ALLOWED_CHARS.length while id > length -1 hash = ALLOWED_CHARS[id % length,1].concat( hash || "" ) id = (id / length).floor end ALLOWED_CHARS[id,1].concat(hash || "") end def self.decode(hash) length = ALLOWED_CHARS.length size = hash.length - 1 array = hash.split('') id = ALLOWED_CHARS.index(array.pop) i = 0 array.each do |c| id += ALLOWED_CHARS.index(c) * (length ** (size - i)) i += 1 end id end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
simple-hasher-0.0.2 | lib/simplehasher.rb |