保護資料庫中的敏感資料 (帳號、密碼、信用卡號) 是架構設計的首要決策。本文分析 SQL Server 內建加密缺陷,並推薦工業級解決方案:CAPICOM、XP_CRYPT、AspEncrypt,以及傳輸層與檔案層加密策略。
| 方案 | 類型 | 優點 | 適用場景 |
|---|---|---|---|
| CAPICOM (ActiveX) | 輕量級雙向加密/雜湊 | 微軟原生、易部署、支援多種演算法 | 中小型應用、T-SQL 預存程序內加密 |
| XP_CRYPT (擴充預存程序) | 工業級加密外掛 | 免費版支援 MD5/DES/SHA1,完整版無限制 | 需高效能、多演算法的資料庫層加密 |
| AspEncrypt (COM 元件) | ASP/ASP.NET 專用 | 整合 Web 應用容易、高階加密功能 | Web 應用程式層加密 |
永遠不要以明文儲存敏感資料。資料庫層加密是最後防線,傳輸層加密防竊聽,檔案層加密防實體存取。三層防護缺一不可,金鑰管理須納入災難復原計畫。