• Serhiy Storchaka's avatar
    bpo-33729: Fix issues with arguments parsing in hashlib. (GH-8346) · f1d36d8e
    Serhiy Storchaka yazdı
    * 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.
    f1d36d8e