Om du vill skriva dina egna funktioner för att kryptera och dekryptera data vill du helt enkelt ringa DBMS_CRYPTO
encrypt
och decrypt
metoder med lämpliga parametrar (dvs. välj din krypteringsalgoritm, din nyckel, etc.).
Självklart, om du skriver dina egna rutiner, förutsatt att du lagrar nyckeln i databasen eller någonstans som databasen har tillgång till, gör du inte mycket för säkerheten. Det är dåligt att skicka okrypterade lösenord över nätverket, men det är i allmänhet mycket värre att lagra okrypterade lösenord i databasen (eller krypterade lösenord om det finns en decrypt
metod i databasen som har tillgång till nyckeln för att dekryptera data). Det är i allmänhet mycket lättare att stjäla data från en databas än att sniffa data som skickas över nätverket för att hitta ett lösenord.
Det rätta svaret skulle naturligtvis vara att bygga om systemet så att du inte lagrar lösenorden alls. Du bör lagra lösenordshashar (som du också kan generera med DBMS_CRYPTO
paket) som inte är reversibla.