Issue 8872: use getpass.getpass() to read password.

This avoids passing the plaintext raw password into the script as a
command-line argument, which shells such as bash and zsh will
typically log into a file like ~/bash_history.

As a small bonus, this works a LOT more smoothly if the user's
password has characters in it that either the shell or Python syntax
might like to interpret as metacharacters, like '\' or '"'.

getpass.getpass() is part of Python's standard library in all versions
between 2.4 and 3.3 at least.
This commit is contained in:
Richard Barrell 2014-09-03 12:33:54 +01:00
parent 893f15b30b
commit bed2eb36d3

View file

@ -217,7 +217,7 @@ password hashing library is installed.
Once the library is ready, SHA512 password values can then be generated as follows:: Once the library is ready, SHA512 password values can then be generated as follows::
python -c "from passlib.hash import sha512_crypt; print sha512_crypt.encrypt('<password>')" python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"
.. _commercial_support: .. _commercial_support: