-- -- crypt() and gen_salt(): md5 -- SELECT crypt('', '$1$Szzz0yzz'); crypt ------------------------------------ $1$Szzz0yzz$To38XrR3BsbXQW2ZpfKjF1 (1 row) SELECT crypt('foox', '$1$Szzz0yzz'); crypt ------------------------------------ $1$Szzz0yzz$IYL49cd3t9bllsA7Jmz1M1 (1 row) CREATE TABLE ctest (data text, res text, salt text); INSERT INTO ctest VALUES ('password', '', ''); UPDATE ctest SET salt = gen_salt('md5'); UPDATE ctest SET res = crypt(data, salt); SELECT res = crypt(data, res) AS "worked" FROM ctest; worked -------- t (1 row) DROP TABLE ctest;