-2
我需要基於數據庫中的少數表製作物化視圖,但捕獲的是,使用Jasypt對基礎表中的少數列進行加密,並且需要所有列在物化視圖中爲純文本。在Oracle中解密Jasypt加密信息
Oracle中有沒有隱式函數可以用於Jasypt解密或者圍繞編寫自己的函數來實現這個功能?
PS:使用的加密是可解密的。
我需要基於數據庫中的少數表製作物化視圖,但捕獲的是,使用Jasypt對基礎表中的少數列進行加密,並且需要所有列在物化視圖中爲純文本。在Oracle中解密Jasypt加密信息
Oracle中有沒有隱式函數可以用於Jasypt解密或者圍繞編寫自己的函數來實現這個功能?
PS:使用的加密是可解密的。
你可以在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';
然後,您可以編寫Java代碼來利用jasypt進行解密,但是你會有能力像任何其他PL/SQL過程一樣調用它。
您必須使用loadjava將jasypt庫加載到oracle數據庫中。您可能需要DBA的幫助才能執行其中一些操作,而且他們還可能需要使用dbms_java軟件包授予其他訪問權限。
然後使用您在物化視圖查詢中創建的函數在處理值時解密值。
Jasypt的AES加密功能非常簡單,所以我會說它應該相當簡單。 –
你能爲此建議語法嗎? –
不,我不能,因爲我沒有使用Oracle數據庫。 –