敏感資料(身分證、手機、社保號、Email)保護常用加密,但存解密風險。Optim Data Privacy 提供綜合資料遮罩:
HASH_LOOKUP 樣本雜湊映射、AGE 日期時間轉換、內建社保號/信用卡/Email 遮罩本文以身分證轉換為例,實作並比較三種自訂方法。
optimdir(Directory)與 sourcedb 資料庫(UTF-8, zh_CN)LOOKUP_ID.XF(樣本資料)、SAMPLE_ID.XF(待轉換資料)將待轉換欄資料以雜湊函數映射替換為樣本表值。樣本表需含:樣本值欄 + 唯一整數鍵欄(供雜湊映射)。
Action > Insert,Source LOOKUP_ID.XF,Control File lookup.CF,Table Map 選 Local,Process Option 選 Insert。Table Map Editor 設 Qualifier SOURCEDB、Creator db2admin、Destination Table LOOKUP_ID,File > Update and Return,Run → Create all selected objects 建表與主鍵。SAMPLE_ID.XF 至 sourcedb。Action > Convert,Source Sample_ID.XF,Control sample.CF,Destination Convert_ID.XF,Table Map 選 Local。Table Map Editor 設 Qualifier SOURCEDB.DB2ADMIN、Destination Table SAMPLE_ID,Column Map 選 Local 右鍵 Open Column Map。HASH_LOOKUP(ID, LOOKUP(no, ID)),Tab 後 Status 顯示 Lookup Function。File > Update and Return,Run 執行,報告 45 筆全數成功。

Action > Compare,Compare File ID.CMP,勾選 Browse Results Immediately,模式 Single Table:Source File – Source FileSAMPLE_ID.XF,Source 2 Convert_ID.XF,Run

AGE 函數用,非日期轉日期AGE 函數用,日期轉目標型別遵循 C 語言規範,入口函數 PSTColMapExit():
__declspec(dllexport) short PSTColMapExit(
PST_STRUCT_CM_EXIT_PARM *pInputParms,
PST_STRUCT_CM_EXIT_COL_LIST *pSrcColList,
PST_STRUCT_CM_EXIT_COL_LIST *pDstColList
);
關鍵結構:pInputParms->FuncCode(處理信號,PST_CM_FUNC_TERMINATE 結束)、DestColIndex(目標欄索引)、pSrcColList/pDstColList(源/目標欄指標)。
PPSTGetColValue 讀取 ID 欄值至緩衝區srand(seed) 生成隨機數rand()%31 從省份表選取rand()%30+70(1970-2000)rand()%12+1S = Σ Ai×Wi(權重 7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2,1),j = S mod 11,對應表 Yj: 1,0,X,9,8,7,6,5,4,3,2PPSTPutColValue 寫入轉換後資料MYEXIT.dll 放入 Optim 安裝目錄 BIN 資料夾,啟動自動載入EXIT MYEXIT,Tab 後 Status 變 ExitUpdate and Return 執行,成功報告

(原文截斷,此處補充概念說明)
Column Map Procedure 是在 Column Map 階段呼叫的 SQL 預存程序,適用於需資料庫端邏輯(如查詢參考表、複雜集合運算)的轉換。優點:無需外部 DLL、跨平台一致性佳、可直接使用 SQL/PL 語法。
PROCEDURE proc_name 綁定| 維度 | HASH_LOOKUP | Exit Routine (C/DLL) | Column Map Procedure (SQL/PL) |
|---|---|---|---|
| 適用場景 | 樣本映射、一對一替換 | 極複雜演算法、非 SQL 邏輯、高效能需求 | 需資料庫查詢、集合運算、跨平台部署 |
| 開發門檻 | 低(設定式) | 高(C 語言、編譯部署) | 中(SQL/PL 熟悉度) |
| 維護性 | 高 | 低(需重編譯部署 DLL) | 高(資料庫端修改即時生效) |
| 效能 | 中 | 高(進程內執行) | 中(網路往返/逐列呼叫開銷) |
| 可攜性 | 高 | 低(平台相關 DLL) | 高(標準 SQL) |
Optim Data Privacy 提供從設定式函數到程式化擴充的完整譜系。選型建議:優先用內建函數(HASH_LOOKUP 等);需複雜演算法且效能敏感用 Exit Routine;涉及資料庫查詢/跨平台用 Column Map Procedure。三者可混合使用於同一專案不同欄位。