How to get a md5 password for a user on PostgreSQL? 如何在PostgreSQL上为用户获取md5密码?

If you look through table pg_authid on PostgreSQL, you can find the values of column rolpassword are hashed strings. For example, a string like "md58d11c0b8417d3947cb544f1174fd44ce".

How to get rolpassword? The formula is:

"md5" + md5(password + username)

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

PostgreSQL:

# select 'md5' || md5('password123' || 'admin')md53f84a3c26198d9b94054ca7a3839366d

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

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

 

Reference

1. RCross. Answer: Postgres: MD5 Password / Plain password. Nov 21 '19 at 16:40

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值