Jeśli chcesz napisać własne funkcje do szyfrowania i odszyfrowywania danych, wystarczy wywołać DBMS_CRYPTO
encrypt
i decrypt
metody z odpowiednimi parametrami (np. wybierz algorytm szyfrowania, klucz itp.).
Oczywiście, jeśli piszesz własne procedury, zakładając, że przechowujesz klucz w bazie danych lub gdzieś, do której baza danych ma dostęp, nie robisz wiele dla bezpieczeństwa. Wysyłanie niezaszyfrowanych haseł przez sieć jest złe, ale generalnie znacznie gorzej jest przechowywać niezaszyfrowane hasła w bazie danych (lub hasła zaszyfrowane, jeśli istnieje decrypt
w bazie danych, która ma dostęp do klucza do odszyfrowania danych). Ogólnie rzecz biorąc, dużo łatwiej jest ukraść dane z bazy danych niż podsłuchać dane przesyłane przez sieć w celu znalezienia hasła.
Właściwą odpowiedzią byłoby oczywiście przeprojektowanie systemu, aby w ogóle nie przechowywać haseł. Powinieneś przechowywać skróty haseł (które możesz również wygenerować za pomocą DBMS_CRYPTO
pakiet), które są nieodwracalne.