Pgcrypto extension - decrypt(encrypt(... not returning original data?

Started by SQL Padawanover 4 years ago3 messagesgeneral
Jump to latest
#1SQL Padawan
sql_padawan@protonmail.com

I tried to use the pgcrypto extension.

from the manual.

https://www.postgresql.org/docs/14/pgcrypto.html

there are two functions - encrypt and decrypt - signatures as follows.

encrypt(data bytea, key bytea, type text) returns bytea
decrypt(data bytea, key bytea, type text) returns bytea

OK.

I try to run this -- see a fiddle

https://dbfiddle.uk/?rdbms=postgres_13&fiddle=d2c102f5fb6e62acb1c70a2dc755fdca

SELECT
encrypt('da'::BYTEA, 'pw'::BYTEA, 'bf'),
pg_typeof(encrypt('da'::BYTEA, 'pw'::BYTEA, 'bf')),
decrypt(encrypt('da'::BYTEA, 'pw'::BYTEA, 'bf'), 'pw', 'bf');

but I get this as my result.

encrypt pg_typeof decrypt
\x54027d78b34ac951 bytea \x6461

Why is my decrypt function not return the string 'da'? Have I not understand something important?

SQLP!

#2Wim Bertels
wim.bertels@ucll.be
In reply to: SQL Padawan (#1)
Re: Pgcrypto extension - decrypt(encrypt(... not returning original data?

hex 2 ascii

SQL Padawan schreef op wo 01-12-2021 om 18:37 [+0000]:

\x6461

--
mvg,
Wim Bertels
--
https://coronalert.be

Lector
UC Leuven-Limburg
--
Truth is the most valuable thing we have -- so let us economize it.
-- Mark Twain

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: SQL Padawan (#1)
Re: Pgcrypto extension - decrypt(encrypt(... not returning original data?

SQL Padawan <sql_padawan@protonmail.com> writes:

Why is my decrypt function not return the string 'da'? Have I not understand something important?

See the bytea_output setting.

regards, tom lane