我有一个案例,其中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加密电话字符串的等效SQL Server 2008功能?
答案 0 :(得分:1)
没有。虽然在SQL Server中可以使用DES解密,但SQL Server解密函数希望数据的格式与EncryptByKey函数创建的格式相同。格式是专有的,而不是公开的。
最好的办法是解密Oracle中的数据并将其解密为SQL。否则你需要使用一些不好的方法解密它,例如。一个了解Oracle格式的SQL CLR函数。