Anda perlu menggunakan pgp_sym_encrypt
untuk menulis dan pgp_sym_decrypt
untuk dibaca. Anda melakukan yang sebaliknya.
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
Karena hard-coding kunci enkripsi dalam pemetaan sepertinya bukan ide yang bagus, kami akan menggunakan dukungan PostgreSQL untuk pengaturan yang ditentukan pengguna.
Jadi, encrypt.key
disimpan di postgresql.conf
file konfigurasi:
encrypt.key = 'Wow! So much security.'
contoh ada di GitHub dan bekerja seperti pesona.