Du skal bruge pgp_sym_encrypt
til skrivning og pgp_sym_decrypt
til læsning. Du gjorde det modsatte.
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
Fordi hårdkodning af krypteringsnøglen i kortlægningen ikke lyder som en særlig god idé, vil vi i stedet bruge PostgreSQL-understøttelsen til brugerdefinerede indstillinger.
Så encrypt.key
er gemt i postgresql.conf
konfigurationsfil:
encrypt.key = 'Wow! So much security.'
eksempel er på GitHub og fungerer som en charme.