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