digest-crc 0.5.0 → 0.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog.md +6 -0
- data/digest-crc.gemspec +2 -1
- data/gemspec.yml +8 -1
- data/lib/digest/crc15.rb +1 -1
- data/lib/digest/crc16_genibus.rb +7 -1
- data/lib/digest/crc16_kermit.rb +1 -1
- data/lib/digest/crc16_x_25.rb +2 -1
- data/lib/digest/crc32_bzip2.rb +2 -1
- data/lib/digest/crc32_posix.rb +1 -1
- data/lib/digest/crc32_xfer.rb +11 -1
- data/lib/digest/crc64_jones.rb +1 -1
- data/lib/digest/crc64_xz.rb +1 -1
- data/spec/crc16_genibus_spec.rb +3 -3
- data/spec/{crc32_bzip_spec.rb → crc32_bzip2_spec.rb} +0 -0
- metadata +8 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2f92ef55b3e61da5d83aca365fabce146aaa938ff0ee7f380496f30b2909cd8c
|
4
|
+
data.tar.gz: a34bfa0d5c6b86e29ee5cc27d157a8ea45596e03ffdd7d7d740eaeb9ccca8e6f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cafe8835843afd7873891d6a8c85ba294b8cb846a63641a273844aa50801071d77a92a6e1391e82b9921b199163ab87f9864885ba94f1efaf5a241448a9c0143
|
7
|
+
data.tar.gz: 3787c83078142822c4d7ff198abbcd5a148061612079877ed8f4e4a3b828a4addb9484c4eb36beb417f30c570c336e1a708d7d9a3735342b3553f1d18e69fb8a
|
data/ChangeLog.md
CHANGED
data/digest-crc.gemspec
CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |gem|
|
|
11
11
|
$LOAD_PATH << lib_dir unless $LOAD_PATH.include?(lib_dir)
|
12
12
|
|
13
13
|
require 'digest/crc/version'
|
14
|
-
Digest::
|
14
|
+
Digest::CRC::VERSION
|
15
15
|
end
|
16
16
|
|
17
17
|
gem.summary = gemspec['summary']
|
@@ -20,6 +20,7 @@ Gem::Specification.new do |gem|
|
|
20
20
|
gem.authors = Array(gemspec['authors'])
|
21
21
|
gem.email = gemspec['email']
|
22
22
|
gem.homepage = gemspec['homepage']
|
23
|
+
gem.metadata = gemspec['metadata'] if gemspec['metadata']
|
23
24
|
|
24
25
|
glob = lambda { |patterns| gem.files & Dir[*patterns] }
|
25
26
|
|
data/gemspec.yml
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
name: digest-crc
|
2
|
-
version: 0.5.
|
2
|
+
version: 0.5.1
|
3
3
|
summary: A Cyclic Redundancy Check (CRC) library for Ruby.
|
4
4
|
description:
|
5
5
|
Adds support for calculating Cyclic Redundancy Check (CRC) to the Digest
|
@@ -9,6 +9,13 @@ license: MIT
|
|
9
9
|
authors: Postmodern
|
10
10
|
email: postmodern.mod3@gmail.com
|
11
11
|
homepage: https://github.com/postmodern/digest-crc#readme
|
12
|
+
|
13
|
+
metadata:
|
14
|
+
documentation_uri: https://rubydoc.info/gems/digest-crc
|
15
|
+
source_code_uri: https://github.com/postmodern/digest-crc
|
16
|
+
bug_tracker_uri: https://github.com/postmodern/digest-crc/issues
|
17
|
+
changelog_uri: https://github.com/postmodern/digest-crc/blob/master/ChangeLog.md
|
18
|
+
|
12
19
|
has_yard: true
|
13
20
|
|
14
21
|
development_dependencies:
|
data/lib/digest/crc15.rb
CHANGED
@@ -28,7 +28,7 @@ module Digest
|
|
28
28
|
0x7c41, 0x39d8, 0x32ea, 0x7773, 0x248e, 0x6117, 0x6a25, 0x2fbc, 0x0846, 0x4ddf, 0x46ed, 0x0374, 0x5089, 0x1510, 0x1e22, 0x5bbb,
|
29
29
|
0x0af8, 0x4f61, 0x4453, 0x01ca, 0x5237, 0x17ae, 0x1c9c, 0x5905, 0x7eff, 0x3b66, 0x3054, 0x75cd, 0x2630, 0x63a9, 0x689b, 0x2d02,
|
30
30
|
0x276f, 0x62f6, 0x69c4, 0x2c5d, 0x7fa0, 0x3a39, 0x310b, 0x7492, 0x5368, 0x16f1, 0x1dc3, 0x585a, 0x0ba7, 0x4e3e, 0x450c, 0x0095
|
31
|
-
]
|
31
|
+
].freeze
|
32
32
|
|
33
33
|
#
|
34
34
|
# Packs the CRC15 checksum.
|
data/lib/digest/crc16_genibus.rb
CHANGED
@@ -8,6 +8,12 @@ module Digest
|
|
8
8
|
#
|
9
9
|
class CRC16Genibus < CRC16
|
10
10
|
|
11
|
+
INIT_XOR = 0xffff
|
12
|
+
|
13
|
+
INIT_CRC = 0x0000 ^ INIT_XOR
|
14
|
+
|
15
|
+
XOR_MASK = 0xffff
|
16
|
+
|
11
17
|
# Generated by `./pycrc.py --algorithm=table-driven --model=crc-16 --generate=c`
|
12
18
|
TABLE = [
|
13
19
|
0x0000, 0x1021, 0x2042, 0x3063, 0x4084, 0x50a5, 0x60c6, 0x70e7,
|
@@ -42,7 +48,7 @@ module Digest
|
|
42
48
|
0x7c26, 0x6c07, 0x5c64, 0x4c45, 0x3ca2, 0x2c83, 0x1ce0, 0x0cc1,
|
43
49
|
0xef1f, 0xff3e, 0xcf5d, 0xdf7c, 0xaf9b, 0xbfba, 0x8fd9, 0x9ff8,
|
44
50
|
0x6e17, 0x7e36, 0x4e55, 0x5e74, 0x2e93, 0x3eb2, 0x0ed1, 0x1ef0
|
45
|
-
]
|
51
|
+
].freeze
|
46
52
|
|
47
53
|
#
|
48
54
|
# Updates the CRC16 Genibus checksum.
|
data/lib/digest/crc16_kermit.rb
CHANGED
@@ -42,7 +42,7 @@ module Digest
|
|
42
42
|
0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
|
43
43
|
0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
|
44
44
|
0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
|
45
|
-
]
|
45
|
+
].freeze
|
46
46
|
|
47
47
|
#
|
48
48
|
# Updates the CRC16 Kermit checksum.
|
data/lib/digest/crc16_x_25.rb
CHANGED
@@ -12,6 +12,7 @@ module Digest
|
|
12
12
|
|
13
13
|
XOR_MASK = 0xffff
|
14
14
|
|
15
|
+
# Generated by `./pycrc.py --algorithm=table-driven --model=x-25 --generate=c`
|
15
16
|
TABLE = [
|
16
17
|
0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf,
|
17
18
|
0x8c48, 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7,
|
@@ -45,7 +46,7 @@ module Digest
|
|
45
46
|
0x6b46, 0x7acf, 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9,
|
46
47
|
0xf78f, 0xe606, 0xd49d, 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330,
|
47
48
|
0x7bc7, 0x6a4e, 0x58d5, 0x495c, 0x3de3, 0x2c6a, 0x1ef1, 0x0f78
|
48
|
-
]
|
49
|
+
].freeze
|
49
50
|
|
50
51
|
end
|
51
52
|
end
|
data/lib/digest/crc32_bzip2.rb
CHANGED
@@ -6,6 +6,7 @@ module Digest
|
|
6
6
|
#
|
7
7
|
class CRC32BZip2 < CRC32
|
8
8
|
|
9
|
+
# Generated by `./pycrc.py --algorithm=table-driven --model=crc-32-bzip2 --generate=c`
|
9
10
|
TABLE = [
|
10
11
|
0x00000000, 0x04c11db7, 0x09823b6e, 0x0d4326d9, 0x130476dc, 0x17c56b6b, 0x1a864db2, 0x1e475005,
|
11
12
|
0x2608edb8, 0x22c9f00f, 0x2f8ad6d6, 0x2b4bcb61, 0x350c9b64, 0x31cd86d3, 0x3c8ea00a, 0x384fbdbd,
|
@@ -39,7 +40,7 @@ module Digest
|
|
39
40
|
0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,
|
40
41
|
0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c,
|
41
42
|
0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
|
42
|
-
]
|
43
|
+
].freeze
|
43
44
|
|
44
45
|
#
|
45
46
|
# Updates the CRC32 BZip2 checksum.
|
data/lib/digest/crc32_posix.rb
CHANGED
@@ -41,7 +41,7 @@ module Digest
|
|
41
41
|
0xe3a1cbc1, 0xe760d676, 0xea23f0af, 0xeee2ed18, 0xf0a5bd1d, 0xf464a0aa, 0xf9278673, 0xfde69bc4,
|
42
42
|
0x89b8fd09, 0x8d79e0be, 0x803ac667, 0x84fbdbd0, 0x9abc8bd5, 0x9e7d9662, 0x933eb0bb, 0x97ffad0c,
|
43
43
|
0xafb010b1, 0xab710d06, 0xa6322bdf, 0xa2f33668, 0xbcb4666d, 0xb8757bda, 0xb5365d03, 0xb1f740b4
|
44
|
-
]
|
44
|
+
].freeze
|
45
45
|
|
46
46
|
#
|
47
47
|
# Updates the CRC32 POSIX checksum.
|
data/lib/digest/crc32_xfer.rb
CHANGED
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'digest/crc32'
|
2
2
|
|
3
3
|
module Digest
|
4
|
+
#
|
5
|
+
# Implements the CRC32 XFER algorithm.
|
6
|
+
#
|
4
7
|
class CRC32XFER < CRC32
|
5
8
|
|
6
9
|
INIT_CRC = 0x00000000
|
7
10
|
|
8
11
|
XOR_MASK = 0x00000000
|
9
12
|
|
13
|
+
# Generated by `./pycrc.py --algorithm=table-driven --model=xfer --generate=c`
|
10
14
|
TABLE = [
|
11
15
|
0x00000000, 0x000000af, 0x0000015e, 0x000001f1, 0x000002bc, 0x00000213, 0x000003e2, 0x0000034d,
|
12
16
|
0x00000578, 0x000005d7, 0x00000426, 0x00000489, 0x000007c4, 0x0000076b, 0x0000069a, 0x00000635,
|
@@ -40,8 +44,14 @@ module Digest
|
|
40
44
|
0x00006cd8, 0x00006c77, 0x00006d86, 0x00006d29, 0x00006e64, 0x00006ecb, 0x00006f3a, 0x00006f95,
|
41
45
|
0x00006350, 0x000063ff, 0x0000620e, 0x000062a1, 0x000061ec, 0x00006143, 0x000060b2, 0x0000601d,
|
42
46
|
0x00006628, 0x00006687, 0x00006776, 0x000067d9, 0x00006494, 0x0000643b, 0x000065ca, 0x00006565
|
43
|
-
]
|
47
|
+
].freeze
|
44
48
|
|
49
|
+
#
|
50
|
+
# Updates the CRC32 XFER checksum.
|
51
|
+
#
|
52
|
+
# @param [String] data
|
53
|
+
# The data to update the checksum with.
|
54
|
+
#
|
45
55
|
def update(data)
|
46
56
|
data.each_byte do |b|
|
47
57
|
@crc = (@table[((@crc >> 24) ^ b) & 0xff] ^ (@crc << 8)) & 0xffffffff
|
data/lib/digest/crc64_jones.rb
CHANGED
@@ -78,7 +78,7 @@ module Digest
|
|
78
78
|
0x0df7adabd7a6e2d6, 0x772fdd63e7936baf, 0xf8474c3bb7cdf024, 0x829f3cf387f8795d,
|
79
79
|
0x66e7a46c27f3aa2c, 0x1c3fd4a417c62355, 0x935745fc4798b8de, 0xe98f353477ad31a7,
|
80
80
|
0xa6df411fbfb21ca3, 0xdc0731d78f8795da, 0x536fa08fdfd90e51, 0x29b7d047efec8728
|
81
|
-
]
|
81
|
+
].freeze
|
82
82
|
|
83
83
|
end
|
84
84
|
end
|
data/lib/digest/crc64_xz.rb
CHANGED
@@ -80,7 +80,7 @@ module Digest
|
|
80
80
|
0x50a65c93309e7c0b, 0xe388102d33392364, 0xa4226ac498dedc50, 0x170c267a9b79833f,
|
81
81
|
0xdcd7181e300f9e5e, 0x6ff954a033a8c131, 0x28532e49984f3e05, 0x9b7d62f79be8616a,
|
82
82
|
0xa707db9acf80c06d, 0x14299724cc279f02, 0x5383edcd67c06036, 0xe0ada17364673f59
|
83
|
-
]
|
83
|
+
].freeze
|
84
84
|
|
85
85
|
end
|
86
86
|
end
|
data/spec/crc16_genibus_spec.rb
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require 'crc_examples'
|
3
|
-
require 'digest/
|
3
|
+
require 'digest/crc16_genibus'
|
4
4
|
|
5
|
-
describe Digest::
|
5
|
+
describe Digest::CRC16Genibus do
|
6
6
|
let(:string) { '1234567890' }
|
7
|
-
let(:expected) { '
|
7
|
+
let(:expected) { 'cde7' }
|
8
8
|
|
9
9
|
it_should_behave_like "CRC"
|
10
10
|
end
|
File without changes
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: digest-crc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Postmodern
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-03-
|
11
|
+
date: 2020-03-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -87,7 +87,7 @@ files:
|
|
87
87
|
- spec/crc16_zmodem_spec.rb
|
88
88
|
- spec/crc1_spec.rb
|
89
89
|
- spec/crc24_spec.rb
|
90
|
-
- spec/
|
90
|
+
- spec/crc32_bzip2_spec.rb
|
91
91
|
- spec/crc32_jam_spec.rb
|
92
92
|
- spec/crc32_mpeg_spec.rb
|
93
93
|
- spec/crc32_posix_spec.rb
|
@@ -106,7 +106,11 @@ files:
|
|
106
106
|
homepage: https://github.com/postmodern/digest-crc#readme
|
107
107
|
licenses:
|
108
108
|
- MIT
|
109
|
-
metadata:
|
109
|
+
metadata:
|
110
|
+
documentation_uri: https://rubydoc.info/gems/digest-crc
|
111
|
+
source_code_uri: https://github.com/postmodern/digest-crc
|
112
|
+
bug_tracker_uri: https://github.com/postmodern/digest-crc/issues
|
113
|
+
changelog_uri: https://github.com/postmodern/digest-crc/blob/master/ChangeLog.md
|
110
114
|
post_install_message:
|
111
115
|
rdoc_options: []
|
112
116
|
require_paths:
|