Python PBKDF2 implementation based on https://github.com/warner/python-pbkdf2