Se desideri scrivere le tue funzioni per crittografare e decrittografare i dati, vorresti semplicemente chiamare il DBMS_CRYPTO
encrypt
e decrypt
metodi con parametri appropriati (es. scegli il tuo algoritmo di crittografia, la tua chiave, ecc.).
Ovviamente, se scrivi le tue routine, supponendo che memorizzi la chiave nel database o da qualche parte a cui il database ha accesso, non stai facendo molto per la sicurezza. È brutto inviare password non crittografate sulla rete, ma generalmente è molto peggio archiviare password non crittografate nel database (o password crittografate se esiste un decrypt
metodo nel database che ha accesso alla chiave per decrittografare i dati). In genere è molto più facile rubare dati da un database che annusare i dati inviati in rete per trovare una password.
La risposta giusta, ovviamente, sarebbe quella di riprogettare il sistema in modo da non memorizzare affatto le password. Dovresti memorizzare gli hash delle password (che puoi anche generare usando il DBMS_CRYPTO
pacchetto) che non sono reversibili.