Metadata-Version: 1.0
Name: z3c.bcrypt
Version: 1.0
Summary: Password manager utility using bcrypt or pbkdf2 encoding. Useful in combination with zope.password
Home-page: http://pypi.python.org/pypi/z3c.bcrypt
Author: The Health Agency and the Zope Community
Author-email: zope3-dev@zope.org
License: ZPL 2.1
Description: z3c.bcrypt
        ==========
        
        z3c.bcrypt provides `zope.password`_ compatible "password manager" utilities
        that use bcrypt (or alternatively pbkdf2) encoding for storing passwords.
        
        Both encoding schemes are implemented in the cryptacular_ library that is
        a dependency for this pacakge.
        
        .. _`zope.password`: http://pypi.python.org/pypi/zope.password
        .. _cryptacular: http://pypi.python.org/pypi/cryptacular
        
        
        z3c.bcrypt
        ===========
        
        >>> from zope.interface.verify import verifyObject
        >>> from zope.password.interfaces import IPasswordManager
        >>> from z3c.bcrypt import BcryptPasswordManager
        >>> manager = BcryptPasswordManager()
        >>> verifyObject(IPasswordManager, manager)
        True
        
        >>> password = u"right \N{CYRILLIC CAPITAL LETTER A}"
        
        >>> encoded = manager.encodePassword(password)
        >>> encoded
        '$2a$...'
        >>> manager.checkPassword(encoded, password)
        True
        >>> manager.checkPassword(encoded, password + u"wrong")
        False
        
        >>> from z3c.bcrypt import PBKDF2PasswordManager
        >>> manager = PBKDF2PasswordManager()
        >>> verifyObject(IPasswordManager, manager)
        True
        
        >>> encoded = manager.encodePassword(password)
        >>> encoded
        '$p5k2$...'
        >>> manager.checkPassword(encoded, password)
        True
        >>> manager.checkPassword(encoded, password + u"wrong")
        False
        
        >>> # A previously encoded password, should be decodable even if the
        >>> # current encoding of the same password is different::
        >>> previouslyencoded = (
        ...     '$p5k2$1000$LgAFPIlc9CgrlSaxHyTUMA='
        ...     '=$IuUYplhMkR4qCl8-ONRVjEgJNwE=')
        >>> encoded == previouslyencoded
        False
        >>> manager.checkPassword(previouslyencoded , password)
        True
        
        
        Changelog of z3c.bcrypt
        =======================
        
        1.0 (2010-02-18)
        ----------------
        
        - Initial public release.
        
        
        
Keywords: zope authentication password bcrypy pbkdf2
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Zope Public License
Classifier: Programming Language :: Python
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Framework :: Zope3
