Ако искате да напишете свои собствени функции за криптиране и декриптиране на данни, просто бихте искали да извикате DBMS_CRYPTO
encrypt
и decrypt
методи с подходящи параметри (т.е. изберете вашия алгоритъм за криптиране, вашия ключ и т.н.).
Разбира се, ако пишете свои собствени процедури, като приемем, че съхранявате ключа в базата данни или някъде, до който базата данни има достъп, не правите много за сигурността. Лошо е да изпращате пароли некриптирани по мрежата, но обикновено е много по-лошо да съхранявате некриптирани пароли в базата данни (или криптирани пароли, ако има decrypt
метод в базата данни, който има достъп до ключа за дешифриране на данните). Като цяло е много по-лесно да се откраднат данни от база данни, отколкото да се надушат данни, изпращани по мрежата, за да се намери парола.
Правилният отговор, разбира се, би бил да преархитектирате системата, така че изобщо да не съхранявате паролите. Трябва да съхранявате хешове на пароли (които можете също да генерирате с помощта на DBMS_CRYPTO
пакет), които са необратими.