module LetsShard::Digest

Constants

X_MODEM_CRC16_LOOKUP

Public Instance Methods

crc16(key) click to toggle source
# File lib/lets_shard/digest.rb, line 40
def crc16(key)
  result = 0

  key.each_byte do |b|
    result = ((result << 8) & 0xffff) ^
            X_MODEM_CRC16_LOOKUP[((result >> 8) ^ b) & 0xff]
  end

  result
end