問題的提出
在實際的軟件項目中,經常涉及到對密碼的處理,如用戶登錄密碼、數據庫密碼、FTP密碼等。為了增加軟件的靈活性,一般都要求將這些密碼放到一個配置文件中。但密碼原文容易記錄,若被軟件入侵者獲取,則後果不堪設想。因此我們不能直接將密碼原文填入配置文件中,而要先對密碼進行加密,然後將加密之後的密文填入配置文件,等程序讀取配置之後再進行解密處理。
整個流程如圖1所示。
圖1 加解密總體流程
示例程序流程
為了演示整個加解密的流程,設計了一個演示程序,其執行流程如圖2所示。
圖2 示例程序流程
示例程序代碼
配置文件示例
配置文件命名為Config.ini,其設置如圖3所示。
圖3 配置文件內容
程序執行結果
1. iDecryptFlag為0時:
執行結果如圖4所示:
圖4 iDecryptFlag為0時的執行結果
查看配置文件,這時密碼值為加密之後的密文。
2. iDecryptFlag為1時:
執行結果如圖5所示:
圖5 iDecryptFlag為1時的執行結果
查看配置文件,這時密碼值經歷了“原文-->密文-->原文”的過程。