pwnlib.util.crc
— Calculating CRC-sums¶
Module for calculating CRC-sums.
Contains all crc implementations know on the interwebz. For most implementations it contains only the core crc algorithm and not e.g. padding schemes.
It is horribly slow, as implements a naive algorithm working direclty on bit polynomials. This class is exposed as BitPolynom.
The current algorithm is super-linear and takes about 4 seconds to calculate
the crc32-sum of 'A'*40000
.
An obvious optimization would be to actually generate some lookup-tables.
- This doctest is to ensure that the known data are accurate:
>>> known = sys.modules['pwnlib.util.crc.known'] >>> known.all_crcs == known.generate() True
-
class
pwnlib.util.crc.
BitPolynom
(n)[source]¶ Class for representing GF(2)[X], i.e. the field of polynomials over GF(2).
In practice the polynomials are represented as numbers such that x**n corresponds to 1 << n. In this representation calculations are easy: Just do everything as normal, but forget about everything the carries.
Addition becomes xor and multiplication becomes carry-less multiplication.
Examples
>>> p1 = BitPolynom("x**3 + x + 1") >>> p1 BitPolynom('x**3 + x + 1') >>> int(p1) 11 >>> p1 == BitPolynom(11) True >>> p2 = BitPolynom("x**2 + x + 1") >>> p1 + p2 BitPolynom('x**3 + x**2') >>> p1 * p2 BitPolynom('x**5 + x**4 + 1') >>> p1 // p2 BitPolynom('x + 1') >>> p1 % p2 BitPolynom('x') >>> d, r = divmod(p1, p2) >>> d * p2 + r == p1 True >>> BitPolynom(-1) Traceback (most recent call last): ... ValueError: Polynomials cannot be negative: -1 >>> BitPolynom('y') Traceback (most recent call last): ... ValueError: Not a valid polynomial: y
-
pwnlib.util.crc.
generic_crc
(data, polynom, width, init, refin, refout, xorout)[source]¶ A generic CRC-sum function.
This is suitable to use with: http://reveng.sourceforge.net/crc-catalogue/all.htm
The “check” value in the document is the CRC-sum of the string “123456789”.
Parameters: - data (str) – The data to calculate the CRC-sum of. This should either be a string or a list of bits.
- polynom (int) – The polynomial to use.
- init (int) – If the CRC-sum was calculated in hardware, then this would b the initial value of the checksum register.
- refin (bool) – Should the input bytes be reflected?
- refout (bool) – Should the checksum be reflected?
- xorout (int) – The value to xor the checksum with before outputting
-
pwnlib.util.crc.
cksum
(data) → int[source]¶ Calculates the same checksum as returned by the UNIX-tool
cksum
.Parameters: data (str) – The data to checksum. Example
>>> print(cksum(b'123456789')) 930766865
-
pwnlib.util.crc.
find_crc_function
(data, checksum)[source]¶ Finds all known CRC functions that hashes a piece of data into a specific checksum. It does this by trying all known CRC functions one after the other.
Parameters: data (str) – Data for which the checksum is known. Example
>>> find_crc_function(b'test', 46197) [<function crc_crc_16_dnp at ...>]
-
pwnlib.util.crc.
arc
(data) → int[source]¶ Calculates the arc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.16
Parameters: data (str) – The data to checksum. Example
>>> print(arc(b'123456789')) 47933
-
pwnlib.util.crc.
crc_10
(data) → int[source]¶ Calculates the crc_10 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x233
- width = 10
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.10
Parameters: data (str) – The data to checksum. Example
>>> print(crc_10(b'123456789')) 409
-
pwnlib.util.crc.
crc_10_cdma2000
(data) → int[source]¶ Calculates the crc_10_cdma2000 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3d9
- width = 10
- init = 0x3ff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-10-cdma2000
Parameters: data (str) – The data to checksum. Example
>>> print(crc_10_cdma2000(b'123456789')) 563
-
pwnlib.util.crc.
crc_10_gsm
(data) → int[source]¶ Calculates the crc_10_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x175
- width = 10
- init = 0x0
- refin = False
- refout = False
- xorout = 0x3ff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-10-gsm
Parameters: data (str) – The data to checksum. Example
>>> print(crc_10_gsm(b'123456789')) 298
-
pwnlib.util.crc.
crc_11
(data) → int[source]¶ Calculates the crc_11 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x385
- width = 11
- init = 0x1a
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.11
Parameters: data (str) – The data to checksum. Example
>>> print(crc_11(b'123456789')) 1443
-
pwnlib.util.crc.
crc_11_umts
(data) → int[source]¶ Calculates the crc_11_umts checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x307
- width = 11
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-11-umts
Parameters: data (str) – The data to checksum. Example
>>> print(crc_11_umts(b'123456789')) 97
-
pwnlib.util.crc.
crc_12_cdma2000
(data) → int[source]¶ Calculates the crc_12_cdma2000 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xf13
- width = 12
- init = 0xfff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.12
Parameters: data (str) – The data to checksum. Example
>>> print(crc_12_cdma2000(b'123456789')) 3405
-
pwnlib.util.crc.
crc_12_dect
(data) → int[source]¶ Calculates the crc_12_dect checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x80f
- width = 12
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-12-dect
Parameters: data (str) – The data to checksum. Example
>>> print(crc_12_dect(b'123456789')) 3931
-
pwnlib.util.crc.
crc_12_gsm
(data) → int[source]¶ Calculates the crc_12_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xd31
- width = 12
- init = 0x0
- refin = False
- refout = False
- xorout = 0xfff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-12-gsm
Parameters: data (str) – The data to checksum. Example
>>> print(crc_12_gsm(b'123456789')) 2868
-
pwnlib.util.crc.
crc_12_umts
(data) → int[source]¶ Calculates the crc_12_umts checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x80f
- width = 12
- init = 0x0
- refin = False
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-12-umts
Parameters: data (str) – The data to checksum. Example
>>> print(crc_12_umts(b'123456789')) 3503
-
pwnlib.util.crc.
crc_13_bbc
(data) → int[source]¶ Calculates the crc_13_bbc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1cf5
- width = 13
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.13
Parameters: data (str) – The data to checksum. Example
>>> print(crc_13_bbc(b'123456789')) 1274
-
pwnlib.util.crc.
crc_14_darc
(data) → int[source]¶ Calculates the crc_14_darc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x805
- width = 14
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.14
Parameters: data (str) – The data to checksum. Example
>>> print(crc_14_darc(b'123456789')) 2093
-
pwnlib.util.crc.
crc_14_gsm
(data) → int[source]¶ Calculates the crc_14_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x202d
- width = 14
- init = 0x0
- refin = False
- refout = False
- xorout = 0x3fff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-14-gsm
Parameters: data (str) – The data to checksum. Example
>>> print(crc_14_gsm(b'123456789')) 12462
-
pwnlib.util.crc.
crc_15
(data) → int[source]¶ Calculates the crc_15 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4599
- width = 15
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.15
Parameters: data (str) – The data to checksum. Example
>>> print(crc_15(b'123456789')) 1438
-
pwnlib.util.crc.
crc_15_mpt1327
(data) → int[source]¶ Calculates the crc_15_mpt1327 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x6815
- width = 15
- init = 0x0
- refin = False
- refout = False
- xorout = 0x1
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-15-mpt1327
Parameters: data (str) – The data to checksum. Example
>>> print(crc_15_mpt1327(b'123456789')) 9574
-
pwnlib.util.crc.
crc_16_aug_ccitt
(data) → int[source]¶ Calculates the crc_16_aug_ccitt checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0x1d0f
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-aug-ccitt
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_aug_ccitt(b'123456789')) 58828
-
pwnlib.util.crc.
crc_16_buypass
(data) → int[source]¶ Calculates the crc_16_buypass checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-buypass
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_buypass(b'123456789')) 65256
-
pwnlib.util.crc.
crc_16_ccitt_false
(data) → int[source]¶ Calculates the crc_16_ccitt_false checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xffff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-ccitt-false
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_ccitt_false(b'123456789')) 10673
-
pwnlib.util.crc.
crc_16_cdma2000
(data) → int[source]¶ Calculates the crc_16_cdma2000 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xc867
- width = 16
- init = 0xffff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-cdma2000
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_cdma2000(b'123456789')) 19462
-
pwnlib.util.crc.
crc_16_cms
(data) → int[source]¶ Calculates the crc_16_cms checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0xffff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-cms
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_cms(b'123456789')) 44775
-
pwnlib.util.crc.
crc_16_dds_110
(data) → int[source]¶ Calculates the crc_16_dds_110 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0x800d
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-dds-110
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_dds_110(b'123456789')) 40655
-
pwnlib.util.crc.
crc_16_dect_r
(data) → int[source]¶ Calculates the crc_16_dect_r checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x589
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x1
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-dect-r
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_dect_r(b'123456789')) 126
-
pwnlib.util.crc.
crc_16_dect_x
(data) → int[source]¶ Calculates the crc_16_dect_x checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x589
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-dect-x
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_dect_x(b'123456789')) 127
-
pwnlib.util.crc.
crc_16_dnp
(data) → int[source]¶ Calculates the crc_16_dnp checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3d65
- width = 16
- init = 0x0
- refin = True
- refout = True
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-dnp
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_dnp(b'123456789')) 60034
-
pwnlib.util.crc.
crc_16_en_13757
(data) → int[source]¶ Calculates the crc_16_en_13757 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3d65
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-en-13757
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_en_13757(b'123456789')) 49847
-
pwnlib.util.crc.
crc_16_genibus
(data) → int[source]¶ Calculates the crc_16_genibus checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xffff
- refin = False
- refout = False
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-genibus
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_genibus(b'123456789')) 54862
-
pwnlib.util.crc.
crc_16_gsm
(data) → int[source]¶ Calculates the crc_16_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-gsm
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_gsm(b'123456789')) 52796
-
pwnlib.util.crc.
crc_16_lj1200
(data) → int[source]¶ Calculates the crc_16_lj1200 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x6f63
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-lj1200
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_lj1200(b'123456789')) 48628
-
pwnlib.util.crc.
crc_16_maxim
(data) → int[source]¶ Calculates the crc_16_maxim checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0x0
- refin = True
- refout = True
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-maxim
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_maxim(b'123456789')) 17602
-
pwnlib.util.crc.
crc_16_mcrf4xx
(data) → int[source]¶ Calculates the crc_16_mcrf4xx checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xffff
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-mcrf4xx
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_mcrf4xx(b'123456789')) 28561
-
pwnlib.util.crc.
crc_16_opensafety_a
(data) → int[source]¶ Calculates the crc_16_opensafety_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x5935
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-opensafety-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_opensafety_a(b'123456789')) 23864
-
pwnlib.util.crc.
crc_16_opensafety_b
(data) → int[source]¶ Calculates the crc_16_opensafety_b checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x755b
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-opensafety-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_opensafety_b(b'123456789')) 8446
-
pwnlib.util.crc.
crc_16_profibus
(data) → int[source]¶ Calculates the crc_16_profibus checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1dcf
- width = 16
- init = 0xffff
- refin = False
- refout = False
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-profibus
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_profibus(b'123456789')) 43033
-
pwnlib.util.crc.
crc_16_riello
(data) → int[source]¶ Calculates the crc_16_riello checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xb2aa
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-riello
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_riello(b'123456789')) 25552
-
pwnlib.util.crc.
crc_16_t10_dif
(data) → int[source]¶ Calculates the crc_16_t10_dif checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8bb7
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-t10-dif
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_t10_dif(b'123456789')) 53467
-
pwnlib.util.crc.
crc_16_teledisk
(data) → int[source]¶ Calculates the crc_16_teledisk checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xa097
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-teledisk
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_teledisk(b'123456789')) 4019
-
pwnlib.util.crc.
crc_16_tms37157
(data) → int[source]¶ Calculates the crc_16_tms37157 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0x89ec
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-tms37157
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_tms37157(b'123456789')) 9905
-
pwnlib.util.crc.
crc_16_usb
(data) → int[source]¶ Calculates the crc_16_usb checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0xffff
- refin = True
- refout = True
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-16-usb
Parameters: data (str) – The data to checksum. Example
>>> print(crc_16_usb(b'123456789')) 46280
-
pwnlib.util.crc.
crc_24
(data) → int[source]¶ Calculates the crc_24 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x864cfb
- width = 24
- init = 0xb704ce
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.24
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24(b'123456789')) 2215682
-
pwnlib.util.crc.
crc_24_ble
(data) → int[source]¶ Calculates the crc_24_ble checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x65b
- width = 24
- init = 0x555555
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-ble
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_ble(b'123456789')) 12737110
-
pwnlib.util.crc.
crc_24_flexray_a
(data) → int[source]¶ Calculates the crc_24_flexray_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x5d6dcb
- width = 24
- init = 0xfedcba
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-flexray-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_flexray_a(b'123456789')) 7961021
-
pwnlib.util.crc.
crc_24_flexray_b
(data) → int[source]¶ Calculates the crc_24_flexray_b checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x5d6dcb
- width = 24
- init = 0xabcdef
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-flexray-b
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_flexray_b(b'123456789')) 2040760
-
pwnlib.util.crc.
crc_24_interlaken
(data) → int[source]¶ Calculates the crc_24_interlaken checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x328b63
- width = 24
- init = 0xffffff
- refin = False
- refout = False
- xorout = 0xffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-interlaken
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_interlaken(b'123456789')) 11858918
-
pwnlib.util.crc.
crc_24_lte_a
(data) → int[source]¶ Calculates the crc_24_lte_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x864cfb
- width = 24
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-lte-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_lte_a(b'123456789')) 13494019
-
pwnlib.util.crc.
crc_24_lte_b
(data) → int[source]¶ Calculates the crc_24_lte_b checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x800063
- width = 24
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-24-lte-b
Parameters: data (str) – The data to checksum. Example
>>> print(crc_24_lte_b(b'123456789')) 2355026
-
pwnlib.util.crc.
crc_30_cdma
(data) → int[source]¶ Calculates the crc_30_cdma checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x2030b9c7
- width = 30
- init = 0x3fffffff
- refin = False
- refout = False
- xorout = 0x3fffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.30
Parameters: data (str) – The data to checksum. Example
>>> print(crc_30_cdma(b'123456789')) 79907519
-
pwnlib.util.crc.
crc_31_philips
(data) → int[source]¶ Calculates the crc_31_philips checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 31
- init = 0x7fffffff
- refin = False
- refout = False
- xorout = 0x7fffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.31
Parameters: data (str) – The data to checksum. Example
>>> print(crc_31_philips(b'123456789')) 216654956
-
pwnlib.util.crc.
crc_32
(data) → int[source]¶ Calculates the crc_32 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 32
- init = 0xffffffff
- refin = True
- refout = True
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.32
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32(b'123456789')) 3421780262
-
pwnlib.util.crc.
crc_32_autosar
(data) → int[source]¶ Calculates the crc_32_autosar checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xf4acfb13
- width = 32
- init = 0xffffffff
- refin = True
- refout = True
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32-autosar
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32_autosar(b'123456789')) 379048042
-
pwnlib.util.crc.
crc_32_bzip2
(data) → int[source]¶ Calculates the crc_32_bzip2 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 32
- init = 0xffffffff
- refin = False
- refout = False
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32-bzip2
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32_bzip2(b'123456789')) 4236843288
-
pwnlib.util.crc.
crc_32_mpeg_2
(data) → int[source]¶ Calculates the crc_32_mpeg_2 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 32
- init = 0xffffffff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32-mpeg-2
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32_mpeg_2(b'123456789')) 58124007
-
pwnlib.util.crc.
crc_32_posix
(data) → int[source]¶ Calculates the crc_32_posix checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 32
- init = 0x0
- refin = False
- refout = False
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32-posix
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32_posix(b'123456789')) 1985902208
-
pwnlib.util.crc.
crc_32c
(data) → int[source]¶ Calculates the crc_32c checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1edc6f41
- width = 32
- init = 0xffffffff
- refin = True
- refout = True
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32c
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32c(b'123456789')) 3808858755
-
pwnlib.util.crc.
crc_32d
(data) → int[source]¶ Calculates the crc_32d checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xa833982b
- width = 32
- init = 0xffffffff
- refin = True
- refout = True
- xorout = 0xffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32d
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32d(b'123456789')) 2268157302
-
pwnlib.util.crc.
crc_32q
(data) → int[source]¶ Calculates the crc_32q checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x814141ab
- width = 32
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-32q
Parameters: data (str) – The data to checksum. Example
>>> print(crc_32q(b'123456789')) 806403967
-
pwnlib.util.crc.
crc_3_gsm
(data) → int[source]¶ Calculates the crc_3_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3
- width = 3
- init = 0x0
- refin = False
- refout = False
- xorout = 0x7
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.3
Parameters: data (str) – The data to checksum. Example
>>> print(crc_3_gsm(b'123456789')) 4
-
pwnlib.util.crc.
crc_3_rohc
(data) → int[source]¶ Calculates the crc_3_rohc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3
- width = 3
- init = 0x7
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-3-rohc
Parameters: data (str) – The data to checksum. Example
>>> print(crc_3_rohc(b'123456789')) 6
-
pwnlib.util.crc.
crc_40_gsm
(data) → int[source]¶ Calculates the crc_40_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4820009
- width = 40
- init = 0x0
- refin = False
- refout = False
- xorout = 0xffffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.40
Parameters: data (str) – The data to checksum. Example
>>> print(crc_40_gsm(b'123456789')) 910907393606
-
pwnlib.util.crc.
crc_4_interlaken
(data) → int[source]¶ Calculates the crc_4_interlaken checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3
- width = 4
- init = 0xf
- refin = False
- refout = False
- xorout = 0xf
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.4
Parameters: data (str) – The data to checksum. Example
>>> print(crc_4_interlaken(b'123456789')) 11
-
pwnlib.util.crc.
crc_4_itu
(data) → int[source]¶ Calculates the crc_4_itu checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3
- width = 4
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-4-itu
Parameters: data (str) – The data to checksum. Example
>>> print(crc_4_itu(b'123456789')) 7
-
pwnlib.util.crc.
crc_5_epc
(data) → int[source]¶ Calculates the crc_5_epc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x9
- width = 5
- init = 0x9
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.5
Parameters: data (str) – The data to checksum. Example
>>> print(crc_5_epc(b'123456789')) 0
-
pwnlib.util.crc.
crc_5_itu
(data) → int[source]¶ Calculates the crc_5_itu checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x15
- width = 5
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-5-itu
Parameters: data (str) – The data to checksum. Example
>>> print(crc_5_itu(b'123456789')) 7
-
pwnlib.util.crc.
crc_5_usb
(data) → int[source]¶ Calculates the crc_5_usb checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x5
- width = 5
- init = 0x1f
- refin = True
- refout = True
- xorout = 0x1f
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-5-usb
Parameters: data (str) – The data to checksum. Example
>>> print(crc_5_usb(b'123456789')) 25
-
pwnlib.util.crc.
crc_64
(data) → int[source]¶ Calculates the crc_64 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x42f0e1eba9ea3693
- width = 64
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.64
Parameters: data (str) – The data to checksum. Example
>>> print(crc_64(b'123456789')) 7800480153909949255
-
pwnlib.util.crc.
crc_64_go_iso
(data) → int[source]¶ Calculates the crc_64_go_iso checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1b
- width = 64
- init = 0xffffffffffffffff
- refin = True
- refout = True
- xorout = 0xffffffffffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-64-go-iso
Parameters: data (str) – The data to checksum. Example
>>> print(crc_64_go_iso(b'123456789')) 13333283586479230977
-
pwnlib.util.crc.
crc_64_we
(data) → int[source]¶ Calculates the crc_64_we checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x42f0e1eba9ea3693
- width = 64
- init = 0xffffffffffffffff
- refin = False
- refout = False
- xorout = 0xffffffffffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-64-we
Parameters: data (str) – The data to checksum. Example
>>> print(crc_64_we(b'123456789')) 7128171145767219210
-
pwnlib.util.crc.
crc_64_xz
(data) → int[source]¶ Calculates the crc_64_xz checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x42f0e1eba9ea3693
- width = 64
- init = 0xffffffffffffffff
- refin = True
- refout = True
- xorout = 0xffffffffffffffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-64-xz
Parameters: data (str) – The data to checksum. Example
>>> print(crc_64_xz(b'123456789')) 11051210869376104954
-
pwnlib.util.crc.
crc_6_cdma2000_a
(data) → int[source]¶ Calculates the crc_6_cdma2000_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x27
- width = 6
- init = 0x3f
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.6
Parameters: data (str) – The data to checksum. Example
>>> print(crc_6_cdma2000_a(b'123456789')) 13
-
pwnlib.util.crc.
crc_6_cdma2000_b
(data) → int[source]¶ Calculates the crc_6_cdma2000_b checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x7
- width = 6
- init = 0x3f
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-6-cdma2000-b
Parameters: data (str) – The data to checksum. Example
>>> print(crc_6_cdma2000_b(b'123456789')) 59
-
pwnlib.util.crc.
crc_6_darc
(data) → int[source]¶ Calculates the crc_6_darc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x19
- width = 6
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-6-darc
Parameters: data (str) – The data to checksum. Example
>>> print(crc_6_darc(b'123456789')) 38
-
pwnlib.util.crc.
crc_6_gsm
(data) → int[source]¶ Calculates the crc_6_gsm checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x2f
- width = 6
- init = 0x0
- refin = False
- refout = False
- xorout = 0x3f
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-6-gsm
Parameters: data (str) – The data to checksum. Example
>>> print(crc_6_gsm(b'123456789')) 19
-
pwnlib.util.crc.
crc_6_itu
(data) → int[source]¶ Calculates the crc_6_itu checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x3
- width = 6
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-6-itu
Parameters: data (str) – The data to checksum. Example
>>> print(crc_6_itu(b'123456789')) 6
-
pwnlib.util.crc.
crc_7
(data) → int[source]¶ Calculates the crc_7 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x9
- width = 7
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.7
Parameters: data (str) – The data to checksum. Example
>>> print(crc_7(b'123456789')) 117
-
pwnlib.util.crc.
crc_7_rohc
(data) → int[source]¶ Calculates the crc_7_rohc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4f
- width = 7
- init = 0x7f
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-7-rohc
Parameters: data (str) – The data to checksum. Example
>>> print(crc_7_rohc(b'123456789')) 83
-
pwnlib.util.crc.
crc_7_umts
(data) → int[source]¶ Calculates the crc_7_umts checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x45
- width = 7
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-7-umts
Parameters: data (str) – The data to checksum. Example
>>> print(crc_7_umts(b'123456789')) 97
-
pwnlib.util.crc.
crc_8
(data) → int[source]¶ Calculates the crc_8 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x7
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.8
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8(b'123456789')) 244
-
pwnlib.util.crc.
crc_82_darc
(data) → int[source]¶ Calculates the crc_82_darc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x308c0111011401440411
- width = 82
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat-bits.82
Parameters: data (str) – The data to checksum. Example
>>> print(crc_82_darc(b'123456789')) 749237524598872659187218
-
pwnlib.util.crc.
crc_8_autosar
(data) → int[source]¶ Calculates the crc_8_autosar checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x2f
- width = 8
- init = 0xff
- refin = False
- refout = False
- xorout = 0xff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-autosar
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_autosar(b'123456789')) 223
-
pwnlib.util.crc.
crc_8_cdma2000
(data) → int[source]¶ Calculates the crc_8_cdma2000 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x9b
- width = 8
- init = 0xff
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-cdma2000
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_cdma2000(b'123456789')) 218
-
pwnlib.util.crc.
crc_8_darc
(data) → int[source]¶ Calculates the crc_8_darc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x39
- width = 8
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-darc
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_darc(b'123456789')) 21
-
pwnlib.util.crc.
crc_8_dvb_s2
(data) → int[source]¶ Calculates the crc_8_dvb_s2 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xd5
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-dvb-s2
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_dvb_s2(b'123456789')) 188
-
pwnlib.util.crc.
crc_8_ebu
(data) → int[source]¶ Calculates the crc_8_ebu checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1d
- width = 8
- init = 0xff
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-ebu
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_ebu(b'123456789')) 151
-
pwnlib.util.crc.
crc_8_gsm_a
(data) → int[source]¶ Calculates the crc_8_gsm_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1d
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-gsm-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_gsm_a(b'123456789')) 55
-
pwnlib.util.crc.
crc_8_gsm_b
(data) → int[source]¶ Calculates the crc_8_gsm_b checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x49
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0xff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-gsm-b
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_gsm_b(b'123456789')) 148
-
pwnlib.util.crc.
crc_8_i_code
(data) → int[source]¶ Calculates the crc_8_i_code checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1d
- width = 8
- init = 0xfd
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-i-code
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_i_code(b'123456789')) 126
-
pwnlib.util.crc.
crc_8_itu
(data) → int[source]¶ Calculates the crc_8_itu checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x7
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x55
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-itu
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_itu(b'123456789')) 161
-
pwnlib.util.crc.
crc_8_lte
(data) → int[source]¶ Calculates the crc_8_lte checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x9b
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-lte
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_lte(b'123456789')) 234
-
pwnlib.util.crc.
crc_8_maxim
(data) → int[source]¶ Calculates the crc_8_maxim checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x31
- width = 8
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-maxim
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_maxim(b'123456789')) 161
-
pwnlib.util.crc.
crc_8_opensafety
(data) → int[source]¶ Calculates the crc_8_opensafety checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x2f
- width = 8
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-opensafety
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_opensafety(b'123456789')) 62
-
pwnlib.util.crc.
crc_8_rohc
(data) → int[source]¶ Calculates the crc_8_rohc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x7
- width = 8
- init = 0xff
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-rohc
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_rohc(b'123456789')) 208
-
pwnlib.util.crc.
crc_8_sae_j1850
(data) → int[source]¶ Calculates the crc_8_sae_j1850 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1d
- width = 8
- init = 0xff
- refin = False
- refout = False
- xorout = 0xff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-sae-j1850
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_sae_j1850(b'123456789')) 75
-
pwnlib.util.crc.
crc_8_wcdma
(data) → int[source]¶ Calculates the crc_8_wcdma checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x9b
- width = 8
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-8-wdcma
Parameters: data (str) – The data to checksum. Example
>>> print(crc_8_wcdma(b'123456789')) 37
-
pwnlib.util.crc.
crc_a
(data) → int[source]¶ Calculates the crc_a checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xc6c6
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.crc-a
Parameters: data (str) – The data to checksum. Example
>>> print(crc_a(b'123456789')) 48901
-
pwnlib.util.crc.
jamcrc
(data) → int[source]¶ Calculates the jamcrc checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x4c11db7
- width = 32
- init = 0xffffffff
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.jamcrc
Parameters: data (str) – The data to checksum. Example
>>> print(jamcrc(b'123456789')) 873187033
-
pwnlib.util.crc.
kermit
(data) → int[source]¶ Calculates the kermit checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0x0
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.kermit
Parameters: data (str) – The data to checksum. Example
>>> print(kermit(b'123456789')) 8585
-
pwnlib.util.crc.
modbus
(data) → int[source]¶ Calculates the modbus checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x8005
- width = 16
- init = 0xffff
- refin = True
- refout = True
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.modbus
Parameters: data (str) – The data to checksum. Example
>>> print(modbus(b'123456789')) 19255
-
pwnlib.util.crc.
x_25
(data) → int[source]¶ Calculates the x_25 checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0xffff
- refin = True
- refout = True
- xorout = 0xffff
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.x-25
Parameters: data (str) – The data to checksum. Example
>>> print(x_25(b'123456789')) 36974
-
pwnlib.util.crc.
xfer
(data) → int[source]¶ Calculates the xfer checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0xaf
- width = 32
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.xfer
Parameters: data (str) – The data to checksum. Example
>>> print(xfer(b'123456789')) 3171672888
-
pwnlib.util.crc.
xmodem
(data) → int[source]¶ Calculates the xmodem checksum.
This is simply the
generic_crc()
with these frozen arguments:- polynom = 0x1021
- width = 16
- init = 0x0
- refin = False
- refout = False
- xorout = 0x0
See also: http://reveng.sourceforge.net/crc-catalogue/all.htm#crc.cat.xmodem
Parameters: data (str) – The data to checksum. Example
>>> print(xmodem(b'123456789')) 12739