mirror of https://github.com/watcha-fr/synapse
Merge pull request #648 from matrix-org/rav/password_reset
Password reset docs and scriptpull/4/merge
commit
467c1599c9
@ -1 +0,0 @@ |
||||
perl -MCrypt::Random -MCrypt::Eksblowfish::Bcrypt -e 'print Crypt::Eksblowfish::Bcrypt::bcrypt("secret", "\$2\$12\$" . Crypt::Eksblowfish::Bcrypt::en_base64(Crypt::Random::makerandom_octet(Length=>16)))."\n"' |
@ -0,0 +1,39 @@ |
||||
#!/usr/bin/env python |
||||
|
||||
import argparse |
||||
import bcrypt |
||||
import getpass |
||||
|
||||
bcrypt_rounds=12 |
||||
|
||||
def prompt_for_pass(): |
||||
password = getpass.getpass("Password: ") |
||||
|
||||
if not password: |
||||
raise Exception("Password cannot be blank.") |
||||
|
||||
confirm_password = getpass.getpass("Confirm password: ") |
||||
|
||||
if password != confirm_password: |
||||
raise Exception("Passwords do not match.") |
||||
|
||||
return password |
||||
|
||||
if __name__ == "__main__": |
||||
parser = argparse.ArgumentParser( |
||||
description="Calculate the hash of a new password, so that passwords" |
||||
" can be reset") |
||||
parser.add_argument( |
||||
"-p", "--password", |
||||
default=None, |
||||
help="New password for user. Will prompt if omitted.", |
||||
) |
||||
|
||||
args = parser.parse_args() |
||||
password = args.password |
||||
|
||||
if not password: |
||||
password = prompt_for_pass() |
||||
|
||||
print bcrypt.hashpw(password, bcrypt.gensalt(bcrypt_rounds)) |
||||
|
Loading…
Reference in new issue