1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
require 'digest/crc'
module Digest
#
# Implements the CRC1 algorithm.
#
class CRC1 < CRC
TABLE = []
CRC_MASK = 0x00
#
# Packs the CRC1 checksum.
#
# @return [String]
# The CRC1 checksum.
#
def self.pack(crc)
[crc].pack('c*')
end
#
# Updates the CRC1 checksum.
#
# @param [String] data
# The data to update the checksum with.
#
def update(data)
accum = 0
data.each_byte { |b| accum += b }
@crc += (accum % 256)
return self
end
end
end
|