spring - Can JPA use encrypted password for database connection -


मेरे पास स्प्रिंग JPA कॉन्फ़िगरेशन के रूप में नीचे है

  & lt; bean id = "dataSource" वर्ग = "Org.apache.commons.dbcp.BasicDataSource" नष्ट-विधि = "बंद" & gt; & Lt; संपत्ति नाम = "driverClassName" मान = "$ {jdbc.driverClassName}" / & gt; & Lt; संपत्ति नाम = "url" मान = "$ {jdbc.url}" / & gt; & Lt; संपत्ति नाम = "उपयोगकर्ता नाम" मान = "$ {jdbc.username}" / & gt; & Lt; संपत्ति नाम = "पासवर्ड" मान = "$ {jdbc.password}" / & gt; & Lt; / सेम ​​& gt; & Lt; बीन आईडी = "एम्फ़" वर्ग = "org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" & gt; & Lt; संपत्ति नाम = "डेटा स्रोत" रिफ = "डेटा स्रोत" / & gt; & Lt; प्रॉपर्टी नाम = "जेपीएएंडरएडैप्टर" रेफरी = "विक्रेता एडाप्टर" / & gt; & Lt; संपत्ति नाम = "packagesToScan" मान = "pk.training.model" / & gt; & Lt; प्रॉपर्टी नाम = "जेपीएपीप्रर्टीटीज" & gt; & LT; रंगमंच की सामग्री & gt; ... & lt; prop key = "hibernate.show_sql" & gt; सच & lt; / prop & gt; & Lt; / रंगमंच की सामग्री & gt; & Lt; / संपत्ति & gt; & Lt; / सेम ​​& gt;   

मेरे पास गुण फ़ाइल है जिसमें मेरे पास पासवर्ड है

  jdbc.password = abc123   

जब मेरा आवेदन रन, वसंत संदर्भ भार और डेटाबेस से कनेक्शन बनाता है ठीक। अब मैं पूछना चाहता हूं कि मैं एन्क्रिप्ट किए गए फ़ॉर्म में पासवर्ड देता हूं, जैसे

  jdbc.password = $ 53ytg # @!   

अब कैसे जेपीए डेटाबेस से कनेक्ट हो? क्या कोई ऐसी संपत्ति है जिसके द्वारा एपीएपी एन्क्रिप्टेड पासवर्ड अपने आप को संभालता है या मुझे खुद से कुछ करना है?

धन्यवाद।

आपको इसे स्वयं करना होगा सुरक्षा के अनुसार, यह ज्यादा नहीं जोड़ता है, यद्यपि। एक हमलावर

  1. वसंत में एक ब्रेकपॉइंट सेट कर सकते हैं, बीन बनाते समय इंतजार करें और फ़ील्ड से पासवर्ड पढ़ें
  2. अपना कोड देखें, पता लगाएं कि आप कहां संग्रहित करते हैं डीबी पासवर्ड को डिक्रिप्ट करने के लिए कुंजी, निकालने और इसे डिक्रिप्ट करने के लिए अपने कोड का उपयोग करें
  3. चूंकि अधिकांश डीबी ड्राइवर आपके ऐप और डेटाबेस के बीच डिफ़ॉल्ट रूप से एक्सचेंज डेटा नहीं एन्क्रिप्ट करता है, आपका पासवर्ड (और सभी डेटा) तार पर सादा पाठ के रूप में भेजा जाता है (जब तक कि डेटाबेस आपके एप्लिकेशन के समान सर्वर पर नहीं होता है)।

    इसलिए अधिकांश परिदृश्य में, ऐसा करने की बात यह है कि डीबी उपयोगकर्ता और पासवर्ड आपके सर्वर की डिस्क पर एक फ़ाइल में और सुनिश्चित करें कि केवल अधिकृत लोग इस फ़ाइल को एक्सेस कर सकते हैं (साथ ही आपका ऐप इसे पढ़ सकता है)। पासवर्ड एन्क्रिप्ट करना केवल जोड़ता है।

Comments

Popular posts from this blog

Out of index C/C++ -

regex - PatternSyntaxException: while using String.ReplaceAll function in java? -

java - Projects which are accessed via multiple (different) IDEs: Ant or Maven? -