问题的提出
在实际的软件项目中,经常涉及到对密码的处理,如用户登录密码、数据库密码、FTP密码等。为了增加软件的灵活性,一般都要求将这些密码放到一个配置文件中。但密码原文容易记录,若被软件入侵者获取,则后果不堪设想。因此我们不能直接将密码原文填入配置文件中,而要先对密码进行加密,然后将加密之后的密文填入配置文件,等程序读取配置之后再进行解密处理。
整个流程如图1所示。
图1 加解密总体流程
示例程序流程
为了演示整个加解密的流程,设计了一个演示程序,其执行流程如图2所示。
图2 示例程序流程
示例程序代码
配置文件示例
配置文件命名为Config.ini,其设置如图3所示。
图3 配置文件内容
程序执行结果
1. iDecryptFlag为0时:
执行结果如图4所示:
图4 iDecryptFlag为0时的执行结果
查看配置文件,这时密码值为加密之后的密文。
2. iDecryptFlag为1时:
执行结果如图5所示:
图5 iDecryptFlag为1时的执行结果
查看配置文件,这时密码值经历了“原文-->密文-->原文”的过程。