Wrap加密Oracle存儲過程
?
?
??? Oracle自帶的內部包大多數都是經過加密的,比較好奇,了解一下Oracle進行加密的工具。一般都使用wrap工具進行加密,這個wrap的使用語法非常簡單,只有輸入和輸出兩個參數,也沒有多余的操作。但是也沒有詳細的錯誤提示,所以很多問題出現后很難查到原因。簡單看看,記錄一下這個工具的用法,以便今后查詢。
?
??? wrap的語法非常簡單:wrap iname={input file} [oname={output file}]
?
??? 可以指定路徑,也可以只寫出文件名。如果不寫oname參數,則在當前路徑下創建一個與iname文件名同名,且后綴為“.plb”的文件。
?
?
?
??? 從網上了解的經驗來看,大致要注意3個問題:
?
一、兼容性問題
?
??? 各個版本wrap出來的結果是有差別的,Oracle對wrap生成的結果也是向下兼容的。10g的數據庫可以使用9i生成的wrap文件,而在9i中無法使用10g的wrap的生成結果。
?
?
二、字符問題
?
??? 操作系統的字符集設置不正確,可能會引起wrap的錯誤(這個問題貌似現在的版本已經沒有了)
?
??? 方法是設置OS的字符集:SET NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
?
?
三、不支持分析函數
?
?
??? 當時的wrap就是不支持分析函數的,到目前在10.2.0.3上測試wrap依舊不支持。但是在PLSQL已經是可以支持的了。
?
?
?
?