Metadata-Version: 1.1 Name: backports.pbkdf2 Version: 0.1 Summary: Fast PBKDF2 for Python 2.6 - 3.4 Home-page: https://bitbucket.org/tiran/backports.pbkdf2 Author: Christian Heimes Author-email: christian@python.org License: PSFL Description: ======================================================== PKCS#5 password-based key derivation function 2 (PBKDF2) ======================================================== 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 Keywords: pbkdf2 password openssl security Platform: POSIX Platform: Windows Classifier: Development Status :: 4 - Beta Classifier: Intended Audience :: Developers Classifier: License :: OSI Approved :: Python Software Foundation License Classifier: Natural Language :: English Classifier: Operating System :: POSIX Classifier: Operating System :: Microsoft :: Windows Classifier: Programming Language :: C Classifier: Programming Language :: Python Classifier: Programming Language :: Python :: 2 Classifier: Programming Language :: Python :: 2.6 Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.2 Classifier: Programming Language :: Python :: 3.3 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Security :: Cryptography