Skip to main content

Very fast implementation of pbkdf2.

Project description

A pbkdf2 implementation for python using ctypes.

This module implements pbkdf2 for Python using C libraries available on the system (OpenSSL-1+ or CommonCrypto).

Note: This module is intended as a plugin replacement of ( by Armin Ronacher. There is no need to compile it so it should be usable on any system where OpenSSL 1.0.0+ or CommonCrypto (OS X) is installed.


The above stlib based implementation, although excellent, was worsening web2py ( performance much more than needed for doing just password hashing. After pondering different options, it was considered that there would have been a good chance that a system with python shipping hashlib module, could also have OpenSSL installed for dependency reasons. The result is that using this module PKCS5 PBKDF2 hashing can be more than 20x times faster than using Armin’s stdlib implementation.

Copyright :copyright: 2013: Michele Comitini License LGPLv3


  • v0.99.5: Fix PyPi missing release files.
  • v0.99.4: better support for python2.5. Comply to PATH on Windows. Better OS detection on OS X.
  • v0.99.3: fixed main(). Prepended “_” to internal functions.
  • v0.99.2: added support for python3
  • preparing 0.99.1 to fix problems with pypi
  • added and prepared for distutils.
  • Update


  • fixed OS X compatibility, should work also on iOS. Added arg type checks and conversions.
  • added support for common crypto hence hopefully OS X
  • missing () around exceptions
  • pep8
  • now uses ctypes magic to find library
  • added module
  • added module
  • Update
  • Initial commit

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for pbkdf2-ctypes, version 0.99.5
Filename, size File type Python version Upload date Hashes
Filename, size pbkdf2_ctypes-0.99.5-py2-none-any.whl (4.2 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size pbkdf2_ctypes-0.99.5-py3-none-any.whl (4.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pbkdf2-ctypes-0.99.5.tar.gz (7.7 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page