pgcrypt
предназначен для чего-то другого:
Вычисляет крипт (3) стиль ha sh пароля. При сохранении нового пароля вам нужно использовать gen_salt () для генерации нового значения соли. Чтобы проверить пароль, передайте сохраненное значение ha sh как соль и проверьте, соответствует ли результат сохраненному значению.
Следующий CTE
шифрует пароли с использованием md5
солевой алгоритм и метод выбора сравнивает данный пароль с паролями в CTE:
WITH j (val) AS (
VALUES
(crypt('Sharon_1',gen_salt('md5'))),
(crypt('Sharon_1trgstysa',gen_salt('md5')))
)
SELECT
val = crypt('Sharon_1',val), -- entered password to compare!
val -- stored password
FROM j;
?column? | val
----------+------------------------------------
t | $1$XpqL58HA$k2G55BjtVFQxHVe/jpu.2.
f | $1$0OIuDMkZ$PH2cDjG.aRzUAvtUtvf3E1
(2 Zeilen)
Для шифрования и дешифрования с помощью симметричных c ключей PGP попробуйте pgp_sym_encrypt
и pgp_sym_decrypt
, например:
WITH j (val) AS (
VALUES
(pgp_sym_encrypt('Sharon_1','alpha')),
(pgp_sym_encrypt('Sharon_1trgstysa','alpha'))
)
SELECT pgp_sym_decrypt(val,'alpha') FROM j;
pgp_sym_decrypt
------------------
Sharon_1
Sharon_1trgstysa
(2 Zeilen)