mirror of
https://github.com/python/cpython.git
synced 2025-07-23 19:25:40 +00:00
bpo-36700: [doc] Update base64 RFC references to RFC 4648 (GH-27700)
Co-authored-by: Łukasz Langa <lukasz@langa.pl>
This commit is contained in:
parent
dd8eb303b9
commit
e43b9bbc31
3 changed files with 16 additions and 4 deletions
|
@ -2,7 +2,7 @@
|
||||||
===============================================================
|
===============================================================
|
||||||
|
|
||||||
.. module:: base64
|
.. module:: base64
|
||||||
:synopsis: RFC 3548: Base16, Base32, Base64 Data Encodings;
|
:synopsis: RFC 4648: Base16, Base32, Base64 Data Encodings;
|
||||||
Base85 and Ascii85
|
Base85 and Ascii85
|
||||||
|
|
||||||
**Source code:** :source:`Lib/base64.py`
|
**Source code:** :source:`Lib/base64.py`
|
||||||
|
@ -16,10 +16,10 @@
|
||||||
This module provides functions for encoding binary data to printable
|
This module provides functions for encoding binary data to printable
|
||||||
ASCII characters and decoding such encodings back to binary data.
|
ASCII characters and decoding such encodings back to binary data.
|
||||||
It provides encoding and decoding functions for the encodings specified in
|
It provides encoding and decoding functions for the encodings specified in
|
||||||
:rfc:`3548`, which defines the Base16, Base32, and Base64 algorithms,
|
:rfc:`4648`, which defines the Base16, Base32, and Base64 algorithms,
|
||||||
and for the de-facto standard Ascii85 and Base85 encodings.
|
and for the de-facto standard Ascii85 and Base85 encodings.
|
||||||
|
|
||||||
The :rfc:`3548` encodings are suitable for encoding binary data so that it can
|
The :rfc:`4648` encodings are suitable for encoding binary data so that it can be
|
||||||
safely sent by email, used as parts of URLs, or included as part of an HTTP
|
safely sent by email, used as parts of URLs, or included as part of an HTTP
|
||||||
POST request. The encoding algorithm is not the same as the
|
POST request. The encoding algorithm is not the same as the
|
||||||
:program:`uuencode` program.
|
:program:`uuencode` program.
|
||||||
|
@ -28,7 +28,7 @@ There are two interfaces provided by this module. The modern interface
|
||||||
supports encoding :term:`bytes-like objects <bytes-like object>` to ASCII
|
supports encoding :term:`bytes-like objects <bytes-like object>` to ASCII
|
||||||
:class:`bytes`, and decoding :term:`bytes-like objects <bytes-like object>` or
|
:class:`bytes`, and decoding :term:`bytes-like objects <bytes-like object>` or
|
||||||
strings containing ASCII to :class:`bytes`. Both base-64 alphabets
|
strings containing ASCII to :class:`bytes`. Both base-64 alphabets
|
||||||
defined in :rfc:`3548` (normal, and URL- and filesystem-safe) are supported.
|
defined in :rfc:`4648` (normal, and URL- and filesystem-safe) are supported.
|
||||||
|
|
||||||
The legacy interface does not support decoding from strings, but it does
|
The legacy interface does not support decoding from strings, but it does
|
||||||
provide functions for encoding and decoding to and from :term:`file objects
|
provide functions for encoding and decoding to and from :term:`file objects
|
||||||
|
@ -287,6 +287,13 @@ An example usage of the module:
|
||||||
>>> data
|
>>> data
|
||||||
b'data to be encoded'
|
b'data to be encoded'
|
||||||
|
|
||||||
|
.. _base64-security:
|
||||||
|
|
||||||
|
Security Considerations
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
A new security considerations section was added to :rfc:`4648` (section 12); it's
|
||||||
|
recommended to review the security section for any code deployed to production.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,8 @@ Security Considerations
|
||||||
|
|
||||||
The following modules have specific security considerations:
|
The following modules have specific security considerations:
|
||||||
|
|
||||||
|
* :mod:`base64`: :ref:`base64 security considerations <base64-security>` in
|
||||||
|
:rfc:`4648`
|
||||||
* :mod:`cgi`: :ref:`CGI security considerations <cgi-security>`
|
* :mod:`cgi`: :ref:`CGI security considerations <cgi-security>`
|
||||||
* :mod:`hashlib`: :ref:`all constructors take a "usedforsecurity" keyword-only
|
* :mod:`hashlib`: :ref:`all constructors take a "usedforsecurity" keyword-only
|
||||||
argument disabling known insecure and blocked algorithms
|
argument disabling known insecure and blocked algorithms
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
:mod:`base64` RFC references were updated to point to :rfc:`4648`; a section
|
||||||
|
was added to point users to the new "security considerations" section of the
|
||||||
|
RFC.
|
Loading…
Add table
Add a link
Reference in a new issue