• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

docs/H03-May-2022-12,5138,892

passlib/H08-Oct-2020-48,51929,536

passlib.egg-info/H03-May-2022-5953

LICENSEH A D06-Oct-20204.8 KiB11792

MANIFEST.inH A D23-Nov-2016141 43

PKG-INFOH A D08-Oct-20202.6 KiB5953

READMEH A D08-Oct-20202.9 KiB7355

setup.cfgH A D08-Oct-2020135 149

setup.pyH A D08-Oct-20206.8 KiB198112

tox.iniH A D08-Oct-20208 KiB221191

README

1.. -*- restructuredtext -*-
2
3==========================
4The Passlib Python Library
5==========================
6
7Welcome
8=======
9Passlib is a password hashing library for Python 2 & 3, which provides
10cross-platform implementations of over 30 password hashing algorithms, as well
11as a framework for managing existing password hashes. It's designed to be useful
12for a wide range of tasks, from verifying a hash found in /etc/shadow, to
13providing full-strength password hashing for multi-user application.
14
15* See the `documentation <https://passlib.readthedocs.io>`_
16  for details, installation instructions, and examples.
17
18* See the `changelog <https://passlib.readthedocs.io/en/stable/history>`_
19  for a description of what's new in Passlib.
20
21* Visit `PyPI <https://pypi.python.org/pypi/passlib>`_
22  for the latest stable release.
23  All releases are signed with the gpg key
24  `4D8592DF4CE1ED31 <http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x4D8592DF4CE1ED31>`_.
25
26* Additional questions about usage or features? Feel free to post on our
27  `mailing list <https://groups.google.com/group/passlib-users>`_.
28
29Usage
30=====
31A quick example of using passlib to integrate into a new application::
32
33    >>> # import the context under an app-specific name (so it can easily be replaced later)
34    >>> from passlib.apps import custom_app_context as pwd_context
35
36    >>> # encrypting a password...
37    >>> hash = pwd_context.hash("somepass")
38    >>> hash
39    '$6$rounds=36122$kzMjVFTjgSVuPoS.$zx2RoZ2TYRHoKn71Y60MFmyqNPxbNnTZdwYD8y2atgoRIp923WJSbcbQc6Af3osdW96MRfwb5Hk7FymOM6D7J1'
40
41    >>> # verifying a password...
42    >>> ok = pwd_context.verify("somepass", hash)
43    True
44    >>> ok = pwd_context.verify("letmein", hash)
45    False
46
47For more details and an extended set of examples, see the full documentation;
48This example barely touches on the range of features available.
49
50Online Resources
51================
52* Latest Docs - https://passlib.readthedocs.io
53* Latest News - https://foss.heptapod.net/python-libs/passlib/wikis/home
54* Mailing list - https://groups.google.com/group/passlib-users
55
56* Downloads -  https://pypi.python.org/pypi/passlib
57* Source -     https://foss.heptapod.net/python-libs/passlib
58* Issues -     https://foss.heptapod.net/python-libs/passlib/issues
59
60Source
61=========
62Passlib's source repository uses Mercurial.  When building Passlib from an hg clone, note that there are two main branches: ``default`` and ``stable``.
63
64* ``default`` is the bleeding edge of the next major release. It may sometimes be of alpha quality.
65* ``stable`` is the latest released version plus any pending bugfixes, and should be safe to use in production.
66
67Hosting
68=======
69Thanks to the people at `Octobus <https://octobus.net/>`_ and `CleverCloud <https://clever-cloud.com/>`_
70for providing the repository / issue tracker hosting, as well as the development of `Heptapod <https://heptapod.net/>`_!
71
72Thanks to `ReadTheDocs <https://readthedocs.io>`_ for providing documentation hosting!
73