यदि आप डेटा को एन्क्रिप्ट और डिक्रिप्ट करने के लिए अपने स्वयं के फ़ंक्शन लिखना चाहते हैं, तो आप बस DBMS_CRYPTO
encrypt
और decrypt
उपयुक्त मापदंडों के साथ विधियाँ (अर्थात अपना एन्क्रिप्शन एल्गोरिथम, अपनी कुंजी, आदि चुनें)।
बेशक, यदि आप अपनी खुद की दिनचर्या लिखते हैं, यह मानते हुए कि आप डेटाबेस में कुंजी संग्रहीत करते हैं या कहीं डेटाबेस की पहुंच है, तो आप सुरक्षा के लिए बहुत कुछ नहीं कर रहे हैं। नेटवर्क पर अनएन्क्रिप्टेड पासवर्ड भेजना बुरा है लेकिन डेटाबेस में अनएन्क्रिप्टेड पासवर्ड को स्टोर करना आम तौर पर बहुत खराब होता है (या एन्क्रिप्टेड पासवर्ड अगर कोई decrypt
है। डेटाबेस में विधि जिसमें डेटा को डिक्रिप्ट करने के लिए कुंजी तक पहुंच है)। पासवर्ड खोजने के लिए नेटवर्क पर भेजे जा रहे डेटा को सूंघने की तुलना में आमतौर पर डेटाबेस से डेटा चुराना बहुत आसान होता है।
सही उत्तर, निश्चित रूप से, सिस्टम को फिर से तैयार करना होगा ताकि आप पासवर्ड को बिल्कुल भी स्टोर न करें। आपको पासवर्ड हैश स्टोर करना चाहिए (जिसे आप DBMS_CRYPTO
का उपयोग करके भी जेनरेट कर सकते हैं) पैकेज) जो अपरिवर्तनीय हैं।