summaryrefslogtreecommitdiff
path: root/Doc/library/binascii.rst
diff options
context:
space:
mode:
authorMartin Panter <vadmium+py@gmail.com>2015-12-11 05:19:29 +0000
committerMartin Panter <vadmium+py@gmail.com>2015-12-11 05:19:29 +0000
commitbaab4e09596d867c930d82be48e5d22796a249a2 (patch)
tree6fbaa4fb26c705d5f5ca5b60ea2c3283401acf9a /Doc/library/binascii.rst
parentd761be0a75716395622a1f72664ec179946cbba5 (diff)
downloadcpython-baab4e09596d867c930d82be48e5d22796a249a2.tar.gz
Issue #22341: Drop Python 2 workaround and document CRC initial value
Also align the parameter naming in binascii to be consistent with zlib.
Diffstat (limited to 'Doc/library/binascii.rst')
-rw-r--r--Doc/library/binascii.rst23
1 files changed, 11 insertions, 12 deletions
diff --git a/Doc/library/binascii.rst b/Doc/library/binascii.rst
index e3f134b53a..b3b4aac873 100644
--- a/Doc/library/binascii.rst
+++ b/Doc/library/binascii.rst
@@ -110,15 +110,16 @@ The :mod:`binascii` module defines the following functions:
possibly the last fragment).
-.. function:: crc_hqx(data, crc)
+.. function:: crc_hqx(data, value)
- Compute the binhex4 crc value of *data*, starting with an initial *crc* and
- returning the result.
+ Compute the binhex4 crc value of *data*, starting with *value* as the
+ initial crc, and return the result.
-.. function:: crc32(data[, crc])
+.. function:: crc32(data[, value])
- Compute CRC-32, the 32-bit checksum of data, starting with an initial crc. This
+ Compute CRC-32, the 32-bit checksum of *data*, starting with an
+ initial CRC of *value*. The default initial CRC is zero. The algorithm
is consistent with the ZIP file checksum. Since the algorithm is designed for
use as a checksum algorithm, it is not suitable for use as a general hash
algorithm. Use as follows::
@@ -126,15 +127,13 @@ The :mod:`binascii` module defines the following functions:
print(binascii.crc32(b"hello world"))
# Or, in two pieces:
crc = binascii.crc32(b"hello")
- crc = binascii.crc32(b" world", crc) & 0xffffffff
+ crc = binascii.crc32(b" world", crc)
print('crc32 = {:#010x}'.format(crc))
-.. note::
- To generate the same numeric value across all Python versions and
- platforms use crc32(data) & 0xffffffff. If you are only using
- the checksum in packed binary format this is not necessary as the
- return value is the correct 32bit binary representation
- regardless of sign.
+ .. versionchanged:: 3.0
+ The result is always unsigned.
+ To generate the same numeric value across all Python versions and
+ platforms, use ``crc32(data) & 0xffffffff``.
.. function:: b2a_hex(data)