summary refs log tree commit diff
diff options
context:
space:
mode:
authorKent Shikama <kent@kentshikama.com>2016-07-06 12:17:54 +0900
committerKent Shikama <kent@kentshikama.com>2016-07-06 12:17:54 +0900
commit896bc6cd464c4e2807a6751bd2de8039bbe1fc63 (patch)
treec8e06d4200454b4f3c28d39ab09d13e353046a12
parentMerge pull request #904 from matrix-org/dbkr/register_email_no_untrusted_id_s... (diff)
downloadsynapse-896bc6cd464c4e2807a6751bd2de8039bbe1fc63.tar.xz
Update hash_password script
Signed-off-by: Kent Shikama <kent@kentshikama.com>
-rwxr-xr-xscripts/hash_password18
1 files changed, 17 insertions, 1 deletions
diff --git a/scripts/hash_password b/scripts/hash_password

index e784600989..215ab25cfe 100755 --- a/scripts/hash_password +++ b/scripts/hash_password
@@ -1,10 +1,16 @@ #!/usr/bin/env python import argparse + +import sys + import bcrypt import getpass +import yaml + bcrypt_rounds=12 +password_pepper = "" def prompt_for_pass(): password = getpass.getpass("Password: ") @@ -28,12 +34,22 @@ if __name__ == "__main__": default=None, help="New password for user. Will prompt if omitted.", ) + parser.add_argument( + "-c", "--config", + type=argparse.FileType('r'), + help="Path to server config file. Used to read in bcrypt_rounds and password_pepper.", + ) args = parser.parse_args() + if "config" in args and args.config: + config = yaml.safe_load(args.config) + bcrypt_rounds = config.get("bcrypt_rounds", bcrypt_rounds) + password_config = config.get("password_config", {}) + password_pepper = password_config.get("pepper", password_pepper) password = args.password if not password: password = prompt_for_pass() - print bcrypt.hashpw(password, bcrypt.gensalt(bcrypt_rounds)) + print bcrypt.hashpw(password + password_pepper, bcrypt.gensalt(bcrypt_rounds))