2009-09-16 2 views
0

고유 한 사용자 생성 해시 키가있는 Oracle DBMS_OBFUSCATION_TOOLKIT DESEncrypt 함수를 사용하여 Oracle 데이터 (전화 번호)가 암호화 된 경우가 있습니다.SQL Server 2008로 복제 된 암호화 된 Oracle 데이터를 해독하는 방법은 무엇입니까?

SQL 예 : 고유 한 고객 해시 키 ('8IcrEuOdDjRT5iDjqHLcsA==')이 이름으로부터 계산된다

update Phone 
    set 
    encrypted_phone = WEBX_ENCRYPT_DECRYPT.ENCRYPT(
      '212-555-1201', '8IcrEuOdDjRT5iDjqHLcsA==') 
    where 
    person_id = 12000039742; 

.

WEBX_ENCRYPT_DECRYPT.ENCRYPT 함수는 다음 Oracle 패키지 함수를 호출합니다.

DBMS_OBFUSCATION_TOOLKIT.DESENCRYPT(input: input_string, 
             input: key_string, 
             output: encrypted_string) 

이 암호화 된 전화 데이터는 SQL Server 2008 데이터베이스로 복제되었습니다.

오라클 암호화 정보 : 오라클 난독 툴킷 DES 암호화 기능을 사용하여 수행

  • 암호화.
  • DES 스트림 암호를 사용합니다.
  • DES 암호화 기능은 256 비트 해시 키를 사용합니다 (256 비트 중 56 개만 사용됨).

Oracle 암호화 된 전화 문자열을 해독하는 데 사용할 수있는 동일한 SQL Server 2008 기능이 있습니까?

답변

1

아니요. SQL Server에서 DES 암호 해독을 사용할 수있는 반면 SQL Server 암호 해독 함수는 데이터가 EncryptByKey 함수에 의해 생성 된 형식의 형식이어야합니다. 형식은 독점적이며 공공 afaik가 아닙니다.

가장 좋은 건 Oracle에서 데이터를 해독하고 해독 된 데이터를 SQL로 밀어 넣는 것입니다. 그렇지 않으면 나쁜 방법 중 일부를 사용하여 해독해야합니다 (예 : 오라클 포맷을 이해하는 SQL CLR 함수.

+0

감사합니다. Remus, 도움이됩니다. 오라클의 데이터를 해독하려는 것은 그 가치보다 문제가 많습니다. 해독하고 SQL Server로 밀어 넣은 다음 EncryptByPassphrase 함수를 사용하여 다시 암호화합니다. http://technet.microsoft.com/en-us/library/ms190357.aspx –

관련 문제