hashlib --- Secure hashes and message digests — Credits

BLAKE2_ was designed by Jean-Philippe Aumasson, Samuel Neves, Zooko Wilcox-O'Hearn, and Christian Winnerlein based on SHA-3_ finalist BLAKE_ created by Jean-Philippe Aumasson, Luca Henzen, Willi Meier, and Raphael C.-W. Phan.

It uses core algorithm from ChaCha_ cipher designed by Daniel J. Bernstein.

The stdlib implementation is based on pyblake2_ module. It was written by Dmitry Chestnykh based on C implementation written by Samuel Neves. The documentation was copied from pyblake2_ and written by Dmitry Chestnykh.

The C code was partly rewritten for Python by Christian Heimes.

The following public domain dedication applies for both C hash function implementation, extension code, and this documentation

To the extent possible under law, the author(s) have dedicated all copyright and related and neighboring rights to this software to the public domain worldwide. This software is distributed without any warranty.

You should have received a copy of the CC0 Public Domain Dedication along with this software. If not, see

The following people have helped with development or contributed their changes to the project and the public domain according to the Creative Commons Public Domain Dedication 1.0 Universal

Module hmac A module to generate message authentication codes using hashes.

Module base64 Another way to encode binary hashes for non-binary environments.

The FIPS 180-4 publication on Secure Hash Algorithms.

The FIPS 202 publication on the SHA-3 Standard.

Wikipedia article with information on which algorithms have known issues and what that means regarding their use.

PKCS #5: Password-Based Cryptography Specification Version 2.1

NIST Recommendation for Password-Based Key Derivation.