[Python-Dev] Right place for PBKDF2 wrapper (original) (raw)

Georg Brandl g.brandl at gmx.net
Sat Oct 12 20:06:45 CEST 2013


Am 12.10.2013 19:37, schrieb Antoine Pitrou:

On Sat, 12 Oct 2013 19:19:44 +0200 Christian Heimes <christian at python.org> wrote:

Hi,

I have written a interface to OpenSSL's PKCS5PBKDF2HMAC() function. It implements PKCS#5's password based key derivation function 2 with HMAC as pseudo-random function. It supports any digest that is supported by OpenSSL, e.g. SHA-1, SHA-256 and SHA-512. It's a low level inteface that takes the digest as unicode name, password and salt as bytes/buffer, keylen and rounds as int. I'd like to add the feature to Python 3.4. Now I'm looking for a good place to put it and some high level functions. In the future I like to add scrypt and bcrypt key stretching and key derivation functions, too. What's a good place for them?? * add a new kdf module (key derivation function) * add PBKDF2 to hashlib * make hashlib a package and add PBKDF2 to a new hashlib.kdf module * make hashlib a package and add PBKDF2 to a new hashlib.pbkdf2 module * make crypt work under Windows and add PKBDF2 to it Putting it in "hashlib" sounds fine. There's no reason to create a myriad of small separate modules.

Maybe it's a good idea to expose HMAC through hashlib as well, and deprecate the standalone module at some point?

Georg



More information about the Python-Dev mailing list