U moet pgp_sym_encrypt
. gebruiken voor schrijven en pgp_sym_decrypt
voor lezen. Jij deed het tegenovergestelde.
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
Omdat het hard coderen van de encryptiesleutel in de mapping niet zo'n goed idee klinkt, zullen we in plaats daarvan de PostgreSQL-ondersteuning gebruiken voor door de gebruiker gedefinieerde instellingen.
Dus de encrypt.key
wordt opgeslagen in de postgresql.conf
configuratiebestand:
encrypt.key = 'Wow! So much security.'
De voorbeeld staat op GitHub en werkt als een tierelier.