Musíte použít pgp_sym_encrypt
pro zápis a pgp_sym_decrypt
pro čtení. Udělal jsi opak.
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
Protože zakódování šifrovacího klíče v mapování nezní jako příliš dobrý nápad, použijeme místo toho podporu PostgreSQL pro uživatelsky definovaná nastavení.
Takže encrypt.key
je uložen v postgresql.conf
konfigurační soubor:
encrypt.key = 'Wow! So much security.'
The příklad je na GitHubu a funguje jako kouzlo.