2016-08-08 3 views
-2

데이터베이스의 일부 테이블을 기반으로 구체화 된보기를 작성해야하지만 catch는 Jacept를 사용하여 기본 테이블의 일부 열을 암호화하고 모든 열을 필요로합니다. 구체화 된보기에서 일반 텍스트 여야합니다.Oracle에서 Jasypt로 암호화 된 정보를 복호화하십시오.

Oracle에서 Jasypt 암호 해독 또는이를 구현하기 위해 자체 함수 작성과 관련하여 사용할 수있는 암시 적 함수가 있습니까?

PS : 사용 된 암호화가 해독 가능합니다.

+0

Jasypt는 AES 암호화를 아주 사소한 용도로 사용하므로 매우 쉽다고 말합니다. –

+0

이 목적을 위해 구문을 제안 할 수 있습니까? –

+0

아니요, Oracle DB로 작업하지 않았기 때문에 불가능합니다. –

답변

1

oracle에 Java 저장 프로 시저를 만들 수 있습니다. 그것은 매우 쉽습니다 -과 같이 소스를 만듭니다

create or replace and compile java source named JasyptWrapper as 
public class JasyptWrapper 
{ 
    public static String decrypt(String str) 
    { 
     String decryptedStr = ""; 
     //code to decrypt 
     return decryptedStr; 
    } 
} 

만든 그래서 같은 저장된 프로 시저 래퍼 :

FUNCTION jasypt_decrypt(p_str VARCHAR2) RETURN VARCHAR2 AS 
LANGUAGE JAVA NAME 'JasyptWrapper.decrypt(java.lang.String) return String'; 

그런 다음 암호 해독을 수행 할 수 jasypt을 활용하는 자바 코드를 작성할 수 있습니다,하지만 당신은거야 다른 PL/SQL 프로 시저와 같이 호출 할 수 있습니다.

loadjava를 사용하여 jacept 라이브러리를 oracle 데이터베이스로로드해야합니다. DBA는 이러한 작업 중 일부를 수행하는 데 도움이 필요하며 dbms_java 패키지를 사용하여 추가 액세스 권한을 부여해야 할 수도 있습니다.

그런 다음 구체화 된보기 조회에서 작성한 함수를 사용하여 값 처리를 암호 해독하십시오.