Postgres: MD5 Password / Plain password Postgres: MD5 Password / Plain password postgresql postgresql

Postgres: MD5 Password / Plain password


To create an md5 password for PostgreSQL, the formula is:

"md5" + md5(password + username)

Here are 3 ways you can create one, where the username is "admin" and the password is "password123"...

Linux:

# echo -n "md5"; echo -n "password123admin" | md5sum | awk '{print $1}'md53f84a3c26198d9b94054ca7a3839366d

NOTE: The -n is critical to avoid including the newline character in your hash!

MacOS:

➜ echo -n "md5"; md5 -qs "password123admin"                                                                                                                                                                                   md53f84a3c26198d9b94054ca7a3839366d

Python 2:

>>> import hashlib>>> print("md5" + hashlib.md5("password123" + "admin").hexdigest())md53f84a3c26198d9b94054ca7a3839366d

Python 3:

as above, but use binary strings

print("md5" + hashlib.md5(b"password123" + b"admin").hexdigest())


Postgresql hashed passwords have md5 prefix:

md548503dfd58720bd5ff35c102065a52d7


Using Postgres11 on GCP Cloud SQL. Gitlab version gitlab-ee 13.3.4 Omnibus install

# gitlab-ctl pg-password-md5 gitlab_userEnter password:Confirm password:

and

# echo -n <password for gitlab_user>gitlab_user | md5sum

are equivalent.

Note: My db user is gitlab_user