का उपयोग करके पोस्टग्रेज़ में कॉलम एन्क्रिप्ट करने के लिए कैसे मैं अपने prostrgres डीबी में एक कॉलम एन्क्रिप्ट करने की कोशिश कर रहा हूँ। कॉलम नाम "बाइटा" प्रकार का "परीक्षण" है।हाइबरनेट @ कॉलम ट्रान्सफॉर्मर
मेरे enity कोड से नीचे है,
@ColumnTransformer(
forColumn="test",
read="pgp_sym_encrypt(test::bytea, 'mySecretKey')",
write="pgp_sym_decrypt(?, 'mySecretKey')")
private String test;
जब मैं इकाई को पुनः प्राप्त करने की कोशिश की, मैं एन्क्रिप्टेड डाटा नीचे की तरह हो रही है। मैं प्रोग्रामिक रूप से डिक्रिप्ट मूल्य कैसे प्राप्त करूं? लेकिन मुझे वास्तविक मान मिलता है यदि मैं एक पोस्टग्रेस चुनिंदा क्वेरी निष्पादित करता हूं।
"test": "\\xc30d04070302474627ea0994ea657bd24401aaa5543862d57524a407e5dbe2ee0f6f0f33ea4f4474f5bc801dca5d32956d41a975505b12ac000f124177bdc2f4507cbfd724d716aaa513ba46f004dfefd3b2b32eb6"
- जब मैं इकाई बने रहने की कोशिश कर रहा हूँ, मैं नीचे त्रुटि हो रही है।
ERROR: column "test" is of type bytea but expression is of type character varying
मुझे लगता है कि आपने अपनी फ़ंक्शन कॉल को विपरीत रूप से रखा है। आपको 'read = "pgp_sym_decrypt (test,' ') जैसे कुछ का उपयोग करना चाहिए", लिखें = "pgp_sym_encrypt (?,' ')" '। (क्योंकि यह डीबी में एन्क्रिप्ट किया गया है और आप अपने आवेदन में डिक्रिप्ट करना चाहते हैं)। –
pozs
लेकिन मुझे यकीन नहीं है कि क्या आपकी कुंजी को वैसे भी एम्बेड करने का सही स्थान है। – pozs