आपको pgp_sym_encrypt
. का उपयोग करना होगा लिखने और pgp_sym_decrypt
. के लिए पढ़ने के लिए। आपने इसके विपरीत किया।
@ColumnTransformer(
read = "pgp_sym_decrypt(" +
" test, " +
" current_setting('encrypt.key')" +
")",
write = "pgp_sym_encrypt( " +
" ?, " +
" current_setting('encrypt.key')" +
") "
)
@Column(columnDefinition = "bytea")
private String test;
क्योंकि मैपिंग में एन्क्रिप्शन कुंजी को हार्ड-कोडिंग करना बहुत अच्छा विचार नहीं लगता है, हम इसके बजाय उपयोगकर्ता-निर्धारित सेटिंग्स के लिए PostgreSQL समर्थन का उपयोग करेंगे।
तो, encrypt.key
postgresql.conf
. में संग्रहीत है कॉन्फ़िगरेशन फ़ाइल:
encrypt.key = 'Wow! So much security.'
उदाहरण GitHub पर है और एक आकर्षण की तरह काम करता है।