PostgreSQL: Generate the md5 password hash via command line

Posted on
postgresql

วิธีสร้าง md5 hash สำหรับ postgresql ด้วย command line

มันเอาไว้ใช้เวลาเรานำข้อมูล username, password ใน postgresql database ออกมาใส่ไฟล์ เพื่อไม่ให้ password สามารถถูกอ่านเข้าใจได้ง่ายๆ

หน้าตาของ password hash เป็นแบบนี้ md541ea566c3cdd7eddc95148b5060009b0

ถ้าใช้ SQL จะใช้คำสั่ง statement แบบนี้ได้

select rolname || ':' || coalesce(rolpassword) from pg_authid;

postgres:md5c9c0f58f27febc119315c3499c38abcc

function coalesce นี้ เป็นตัวสร้าง hash ให้เรา

แต่หากจะต้องคอยเชื่อมต่อ database ทุกครั้งก็จะเสียเวลา

เราสามารถใช้ command line สร้าง hash นี้ขึ้นมาได้เช่นกัน โดยใช้คำสั่งแบบนี้

echo "md5`echo -n "passwordsamplesample" | md5`"

หรือ แบบนี้(เหมือนกัน)

echo "md5$(echo -n "passwordsamplesample" | md5)"

โดย password ของ user นั้นคือ samplesample ในคำสั่งตัวอย่างข้างบน

ผลลัพธ์ของคำสั่งข้างต้นกับ password samplesample คือ md541ea566c3cdd7eddc95148b5060009b0 นั่นเอง