1. hash_password(1)
3. hash_password(1)

## NAME

`hash_password` - Calculate the hash of a new password, so that passwords can be reset

## SYNOPSIS

`hash_password` [`-p` | `--password` [password]] [`-c` | `--config` file]

## DESCRIPTION

hash_password calculates the hash of a supplied password using bcrypt.

`hash_password` takes a password as an parameter either on the command line or the `STDIN` if not supplied.

It accepts an YAML file which can be used to specify parameters like the number of rounds for bcrypt and password_config section having the pepper value used for the hashing. By default `bcrypt_rounds` is set to 12.

The hashed password is written on the `STDOUT`.

## FILES

A sample YAML file accepted by `hash_password` is described below:

bcrypt_rounds: 17 password_config: pepper: "random hashing pepper"

## OPTIONS

`-p`, `--password`
  Read the password form the command line if [password] is supplied, or from `STDIN`. If not, prompt the user and read the password from the tty prompt. It is not recommended to type the password on the command line directly. Use the STDIN instead.
`-c`, `--config`
  Read the supplied YAML file containing the options `bcrypt_rounds` and the `password_config` section containing the `pepper` value.

## EXAMPLES

Hash from the command line:

    $ hash_password -p "p@ssw0rd"
    $2b$12$VJNqWQYfsWTEwcELfoSi4Oa8eA17movHqqi8.X8fWFpum7SxZ9MFe

Hash from the stdin:

    $ cat password_file | hash_password
    Password:
    Confirm password:
    $2b$12$AszlvfmJl2esnyhmn8m/kuR2tdXgROWtWxnX.rcuAbM8ErLoUhybG

Hash from the prompt:

    $ hash_password
    Password:
    Confirm password:
    $2b$12$AszlvfmJl2esnyhmn8m/kuR2tdXgROWtWxnX.rcuAbM8ErLoUhybG

Using a config file:

    $ hash_password -c config.yml
    Password:
    Confirm password:
    $2b$12$CwI.wBNr.w3kmiUlV3T5s.GT2wH7uebDCovDrCOh18dFedlANK99O

## COPYRIGHT

This man page was written by Rahul De «rahulde@swecha.net» for Debian GNU/Linux distribution.

## SEE ALSO

synctl(1), synapse_port_db(1), register_new_matrix_user(1), synapse_review_recent_signups(1)

2. August 2024
3. hash_password(1)