У меня есть случай, когда данные Oracle (номера телефонов) были зашифрованы с помощью функции Oracle DBMS_OBFUSCATION_TOOLKIT DESEncrypt с уникальным сгенерированным пользователем хеш-ключом.
Пример SQL:
update Phone
set
encrypted_phone = WEBX_ENCRYPT_DECRYPT.ENCRYPT(
'212-555-1201', '8IcrEuOdDjRT5iDjqHLcsA==')
where
person_id = 12000039742;
Уникальный хэш-ключ клиента ('8IcrEuOdDjRT5iDjqHLcsA=='
) рассчитывается по имени пользователя.
Функция WEBX_ENCRYPT_DECRYPT.ENCRYPT
вызывает следующую функцию пакета Oracle.
DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(input: input_string,
input: key_string,
output: encrypted_string)
Эти зашифрованные данные телефона затем были реплицированы в базу данных SQL Server 2008.
Информация о шифровании Oracle:
- Шифрование выполнено с использованием функции Oracle Obfuscation Toolkit DES Encrypt.
- Используется потоковый шифр DES.
- Функция DES Encrypt использует 256-битный хэш-ключ (используются только 56 из 256 бит).
Существует ли эквивалентная функция SQL Server 2008, которую можно использовать для расшифровки зашифрованных телефонных строк Oracle?