Se você deseja escrever suas próprias funções para criptografar e descriptografar dados, basta chamar o DBMS_CRYPTO
encrypt
e decrypt
métodos com parâmetros apropriados (ou seja, escolha seu algoritmo de criptografia, sua chave, etc.). Claro, se você escrever suas próprias rotinas, supondo que você armazene a chave no banco de dados ou em algum lugar ao qual o banco de dados tenha acesso, você não estará fazendo muito pela segurança. É ruim enviar senhas não criptografadas pela rede mas geralmente é muito pior armazenar senhas não criptografadas no banco de dados (ou senhas criptografadas se houver um
decrypt
método no banco de dados que tem acesso à chave para descriptografar os dados). Geralmente, é muito mais fácil roubar dados de um banco de dados do que farejar dados enviados pela rede para encontrar uma senha. A resposta certa, é claro, seria rearquitetar o sistema para que você não armazene as senhas. Você deve armazenar hashes de senha (que você também pode gerar usando o
DBMS_CRYPTO
pacote) que não são reversíveis.