Pokud chcete napsat své vlastní funkce pro šifrování a dešifrování dat, jednoduše byste chtěli zavolat DBMS_CRYPTO
encrypt
a decrypt
metody s vhodnými parametry (tj. vyberte svůj šifrovací algoritmus, klíč atd.).
Samozřejmě, pokud si píšete vlastní rutiny, za předpokladu, že klíč uložíte do databáze nebo někam, kam má databáze přístup, pro bezpečnost toho moc neděláte. Je špatné posílat hesla nezašifrovaná přes síť, ale obecně je mnohem horší ukládat nezašifrovaná hesla do databáze (nebo zašifrovaná hesla, pokud existuje decrypt
metoda v databázi, která má přístup ke klíči pro dešifrování dat). Obecně je mnohem snazší ukrást data z databáze, než šmírovat data odesílaná přes síť, abyste našli heslo.
Správnou odpovědí by samozřejmě bylo předělat systém tak, abyste si hesla vůbec neukládali. Měli byste ukládat hodnoty hash hesel (které můžete také vygenerovat pomocí DBMS_CRYPTO
balíček), které jsou nevratné.