This is a pre-production deployment of Warehouse, however changes made here WILL affect the production instance of PyPI.
Latest Version Dependencies status unknown Test status unknown Test coverage unknown
Project Description

This is a backport of hashlib.pbkdf2_hmac for Python 2.6 to 2.7. The implementation comes with a pure Python implementation and a C module that depends on OpenSSL. The C code does not wrap PKCS5_PBKDF2_HMAC as its implementation is suboptimal.

Usage

>>> from backports.pbkdf2 import pbkdf2_hmac, compare_digest
>>> dkey = pbkdf2_hmac('sha1', passwordbytes, saltbytes, iterations=100000)
>>> compare_digest(dkey, originalkey)
True

pbkdf2_hmac(hash_name, password, salt, iterations, dklen=None)

hash_name
name of the digest algorithm as string
password
password as bytes, bytearray or bytes-like object (*)
salt
salt as bytes, bytearray or bytes-like object (*). The salt should be generated with a CPRNG like os.urandom(). You should never use random.random(). About 16 bytes seem to be a good choice.
iterations
number of rounds, 100,000 rounds of SHA-1 take about 30ms on a modern CPU.
dklen
length of the derived key (defaults to digest_size)
returns
derived key as bytes

(*) bytearray and bytes-like objects are not supported on Python 2.6

Benchmarks

password length 10 100 500 1000
backports.pbkdf2 C 0.314 0.321 0.310 0.310
backports.pbkdf2 Py 0.838 0.847 0.853 0.913
pbkdf2_ctypes 0.99.3 0.554 0.663 0.954 1.344
pbkdf2 1.3 5.235 5.746 6.155 6.450
Django pbkdf2 1.5.4 1.976 2.430 2.676 3.078
PyCrypto 2.6.1 6.903 9.062 9.518 10.274
algorithm
sha1
rounds
50000
dklen
20
saltlen
16
number of runs per test
10
Python
Python 3.3 on Linux AMD64
CPU
Intel i7-2860QM @ 2.50GHz

Changelog

pbkdf2 0.1

Release date: 19-Oct-2013

  • initial release of backports.pbkdf2
Release History

Release History

0.1

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

TODO: Brief introduction on what you do with files - including link to relevant help section.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
backports.pbkdf2-0.1.tar.gz (9.9 kB) Copy SHA256 Checksum SHA256 Source Oct 19, 2013

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting