3
0
mirror of https://github.com/jlu5/PyLink.git synced 2024-12-26 20:52:45 +01:00
PyLink/pylink-mkpasswd
James Lu 0d99bc62d2 -mkpasswd: fetch password via getpass instead of requiring command line entry
This gives better security, since running programs and their command lines are visible in 'ps'.
2017-01-29 00:12:05 -08:00

27 lines
818 B
Python
Executable File

#!/usr/bin/env python3
"""
Password hashing utility for PyLink IRC Services.
"""
from pylinkirc.coremods.login import pwd_context
import getpass
if __name__ == '__main__':
import argparse
parser = argparse.ArgumentParser(description='Hashes a password for use with PyLink IRC Services.')
parser.add_argument('password', help='specifies the password to hash', nargs='?', default='')
args = parser.parse_args()
assert pwd_context, 'Cannot hash passwords because passlib is missing! Install it via "pip3 install passlib".'
password = args.password
# If no password was given, enter one on the command line
if not password:
password = getpass.getpass()
password = password.strip()
assert password, "Password cannot be empty!"
print(pwd_context.encrypt(password))