mirror of https://github.com/python/cpython.git
issue15468 - use sha256 instead of md5 or sha1 in the examples.
document that md5 may be missing in the rare case someone is using a "FIPS compliant" build. I've only ever heard of Redhat creating one of those - CPython itself offers no such build mode out of the box.
This commit is contained in:
parent
6a7506a77f
commit
8907dcd3ff
|
@ -39,8 +39,8 @@ Hash algorithms
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
There is one constructor method named for each type of :dfn:`hash`. All return
|
There is one constructor method named for each type of :dfn:`hash`. All return
|
||||||
a hash object with the same simple interface. For example: use :func:`sha1` to
|
a hash object with the same simple interface. For example: use :func:`sha256` to
|
||||||
create a SHA1 hash object. You can now feed this object with :term:`bytes-like
|
create a SHA-256 hash object. You can now feed this object with :term:`bytes-like
|
||||||
objects <bytes-like object>` (normally :class:`bytes`) using the :meth:`update` method.
|
objects <bytes-like object>` (normally :class:`bytes`) using the :meth:`update` method.
|
||||||
At any point you can ask it for the :dfn:`digest` of the
|
At any point you can ask it for the :dfn:`digest` of the
|
||||||
concatenation of the data fed to it so far using the :meth:`digest` or
|
concatenation of the data fed to it so far using the :meth:`digest` or
|
||||||
|
@ -59,21 +59,23 @@ concatenation of the data fed to it so far using the :meth:`digest` or
|
||||||
.. index:: single: OpenSSL; (use in module hashlib)
|
.. index:: single: OpenSSL; (use in module hashlib)
|
||||||
|
|
||||||
Constructors for hash algorithms that are always present in this module are
|
Constructors for hash algorithms that are always present in this module are
|
||||||
:func:`md5`, :func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`,
|
:func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`,
|
||||||
and :func:`sha512`. Additional algorithms may also be available depending upon
|
and :func:`sha512`. :func:`md5` is normally available as well, though it
|
||||||
the OpenSSL library that Python uses on your platform.
|
may be missing if you are using a rare "FIPS compliant" build of Python.
|
||||||
|
Additional algorithms may also be available depending upon the OpenSSL
|
||||||
|
library that Python uses on your platform.
|
||||||
|
|
||||||
For example, to obtain the digest of the byte string ``b'Nobody inspects the
|
For example, to obtain the digest of the byte string ``b'Nobody inspects the
|
||||||
spammish repetition'``::
|
spammish repetition'``::
|
||||||
|
|
||||||
>>> import hashlib
|
>>> import hashlib
|
||||||
>>> m = hashlib.md5()
|
>>> m = hashlib.sha256()
|
||||||
>>> m.update(b"Nobody inspects")
|
>>> m.update(b"Nobody inspects")
|
||||||
>>> m.update(b" the spammish repetition")
|
>>> m.update(b" the spammish repetition")
|
||||||
>>> m.digest()
|
>>> m.digest()
|
||||||
b'\xbbd\x9c\x83\xdd\x1e\xa5\xc9\xd9\xde\xc9\xa1\x8d\xf0\xff\xe9'
|
b'\x03\x1e\xdd}Ae\x15\x93\xc5\xfe\\\x00o\xa5u+7\xfd\xdf\xf7\xbcN\x84:\xa6\xaf\x0c\x95\x0fK\x94\x06'
|
||||||
>>> m.digest_size
|
>>> m.digest_size
|
||||||
16
|
32
|
||||||
>>> m.block_size
|
>>> m.block_size
|
||||||
64
|
64
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue