mirror of
https://github.com/python/cpython.git
synced 2026-04-24 12:50:47 +00:00
* help(hashlib) didn't work because of incorrect module name in blake2b and
blake2s classes.
* Constructors blake2*(), sha3_*(), shake_*() and keccak_*() incorrectly
accepted keyword argument "string" for binary data, but documented as
accepting the "data" keyword argument. Now this parameter is positional-only.
* Keyword-only parameters in blake2b() and blake2s() were not documented as
keyword-only.
* Default value for some parameters of blake2b() and blake2s() was None,
which is not acceptable value.
* The length argument for shake_*.digest() was wrapped out to 32 bits.
* The argument for shake_128.digest() and shake_128.hexdigest() was not
positional-only as intended.
* TypeError messages for incorrect arguments in all constructors sha3_*(),
shake_*() and keccak_*() incorrectly referred to sha3_224.
Also made the following enhancements:
* More accurately specified input and result types for strings, bytes and
bytes-like objects.
* Unified positional parameter names for update() and constructors.
* Improved formatting.
(cherry picked from commit f1d36d8efa)
Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
85 lines
2.4 KiB
C
85 lines
2.4 KiB
C
/*[clinic input]
|
|
preserve
|
|
[clinic start generated code]*/
|
|
|
|
PyDoc_STRVAR(_sha3_sha3_224_copy__doc__,
|
|
"copy($self, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Return a copy of the hash object.");
|
|
|
|
#define _SHA3_SHA3_224_COPY_METHODDEF \
|
|
{"copy", (PyCFunction)_sha3_sha3_224_copy, METH_NOARGS, _sha3_sha3_224_copy__doc__},
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_copy_impl(SHA3object *self);
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_copy(SHA3object *self, PyObject *Py_UNUSED(ignored))
|
|
{
|
|
return _sha3_sha3_224_copy_impl(self);
|
|
}
|
|
|
|
PyDoc_STRVAR(_sha3_sha3_224_digest__doc__,
|
|
"digest($self, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Return the digest value as a bytes object.");
|
|
|
|
#define _SHA3_SHA3_224_DIGEST_METHODDEF \
|
|
{"digest", (PyCFunction)_sha3_sha3_224_digest, METH_NOARGS, _sha3_sha3_224_digest__doc__},
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_digest_impl(SHA3object *self);
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_digest(SHA3object *self, PyObject *Py_UNUSED(ignored))
|
|
{
|
|
return _sha3_sha3_224_digest_impl(self);
|
|
}
|
|
|
|
PyDoc_STRVAR(_sha3_sha3_224_hexdigest__doc__,
|
|
"hexdigest($self, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Return the digest value as a string of hexadecimal digits.");
|
|
|
|
#define _SHA3_SHA3_224_HEXDIGEST_METHODDEF \
|
|
{"hexdigest", (PyCFunction)_sha3_sha3_224_hexdigest, METH_NOARGS, _sha3_sha3_224_hexdigest__doc__},
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_hexdigest_impl(SHA3object *self);
|
|
|
|
static PyObject *
|
|
_sha3_sha3_224_hexdigest(SHA3object *self, PyObject *Py_UNUSED(ignored))
|
|
{
|
|
return _sha3_sha3_224_hexdigest_impl(self);
|
|
}
|
|
|
|
PyDoc_STRVAR(_sha3_sha3_224_update__doc__,
|
|
"update($self, data, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Update this hash object\'s state with the provided bytes-like object.");
|
|
|
|
#define _SHA3_SHA3_224_UPDATE_METHODDEF \
|
|
{"update", (PyCFunction)_sha3_sha3_224_update, METH_O, _sha3_sha3_224_update__doc__},
|
|
|
|
PyDoc_STRVAR(_sha3_shake_128_digest__doc__,
|
|
"digest($self, length, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Return the digest value as a bytes object.");
|
|
|
|
#define _SHA3_SHAKE_128_DIGEST_METHODDEF \
|
|
{"digest", (PyCFunction)_sha3_shake_128_digest, METH_O, _sha3_shake_128_digest__doc__},
|
|
|
|
PyDoc_STRVAR(_sha3_shake_128_hexdigest__doc__,
|
|
"hexdigest($self, length, /)\n"
|
|
"--\n"
|
|
"\n"
|
|
"Return the digest value as a string of hexadecimal digits.");
|
|
|
|
#define _SHA3_SHAKE_128_HEXDIGEST_METHODDEF \
|
|
{"hexdigest", (PyCFunction)_sha3_shake_128_hexdigest, METH_O, _sha3_shake_128_hexdigest__doc__},
|
|
/*[clinic end generated code: output=826b6b5a7c3406eb input=a9049054013a1b77]*/
|