diff options
author | Kent Shikama <kent@kentshikama.com> | 2016-07-06 12:17:54 +0900 |
---|---|---|
committer | Kent Shikama <kent@kentshikama.com> | 2016-07-06 12:17:54 +0900 |
commit | 896bc6cd464c4e2807a6751bd2de8039bbe1fc63 (patch) | |
tree | c8e06d4200454b4f3c28d39ab09d13e353046a12 | |
parent | Merge pull request #904 from matrix-org/dbkr/register_email_no_untrusted_id_s... (diff) | |
download | synapse-896bc6cd464c4e2807a6751bd2de8039bbe1fc63.tar.xz |
Update hash_password script
Signed-off-by: Kent Shikama <kent@kentshikama.com>
Diffstat (limited to '')
-rwxr-xr-x | scripts/hash_password | 18 |
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)) |