Du måste använda pgp_sym_encrypt
för skriv och pgp_sym_decrypt
för läsning. Du gjorde tvärtom.
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
Eftersom hårdkodning av krypteringsnyckeln i mappningen inte låter som en särskilt bra idé kommer vi att använda PostgreSQL-stödet för användardefinierade inställningar istället.
Så, encrypt.key
lagras i postgresql.conf
konfigurationsfil:
encrypt.key = 'Wow! So much security.'
exempel finns på GitHub och fungerar som en charm.