問題的提出
在實際的軟體項目中,經常涉及到對密碼的處理,如使用者登入密碼、資料庫密碼、FTP密碼等。為了增加軟體的靈活性,一般都要求将這些密碼放到一個配置檔案中。但密碼原文容易記錄,若被軟體入侵者擷取,則後果不堪設想。是以我們不能直接将密碼原文填入配置檔案中,而要先對密碼進行加密,然後将加密之後的密文填入配置檔案,等程式讀取配置之後再進行解密處理。
整個流程如圖1所示。

圖1 加解密總體流程
示例程式流程
為了示範整個加解密的流程,設計了一個示範程式,其執行流程如圖2所示。
圖2 示例程式流程
示例程式代碼
配置檔案示例
配置檔案命名為Config.ini,其設定如圖3所示。
圖3 配置檔案内容
程式執行結果
1. iDecryptFlag為0時:
執行結果如圖4所示:
圖4 iDecryptFlag為0時的執行結果
檢視配置檔案,這時密碼值為加密之後的密文。
2. iDecryptFlag為1時:
執行結果如圖5所示:
圖5 iDecryptFlag為1時的執行結果
檢視配置檔案,這時密碼值經曆了“原文-->密文-->原文”的過程。