ini文件加密
来源:互联网 发布:软件项目立项流程图 编辑:程序博客网 时间:2024/05/11 21:08
ini文件在xml的强劲攻势下,似乎已到了退出舞台的时候,但是在某些简单的设置保存中,使用ini文件还是一个不错的选择。
譬如保存歌曲列表、用户名、密码等等,浏览器The world似乎也是用ini来保存很多信息,有时候我们不希望ini的信息被别人看到,那么就需要对其进行加密。
下面,小厮就这一话题展开。
思路是这样的,把将要写入ini的内容进行编码,使ini文件的内容为乱码,
在程序需要读取ini文件的内容时,在将其解码,然后读出,而这一编解码的算法只有程序员知道,所以ini文件的信息也就安全了。
说的详细一点就是这样的过程:
譬如可执行程序xiaosi.exe和配置文件xiaosi.ini都位于c:chatang下,xiaosi.ini的内容是乱码。
当运行程序xiaosi.exe时,程序在c:windowssystem32下创建另一个配置文件sige.ini(当然这个位置和文件名只有程序员一个人知道),
并对xiaosi.ini进行解码,解出的内容存入sige.ini中,之后xiaosi.exe对ini配置文件进行的所有读写操作都对sige.ini执行,
在xiaosi.exe程序退出时,将sige.ini的内容编码写入到xiaosi.ini中,然后将sige.ini删除。
下面说一下所谓的编解码算法(其实也称不上算法的,只是一个小运算而已)。
我们知道(A XOR B) XOR B =A XOR (B XOR B)=A XOR 0=A
所以,我们假设A为sige.ini的内容,
B为一个随机数,则A XOR B就是乱码,我们将其写入文件xiaosi.ini,
在读出文件的时候,再取xiaosi.ini的内容即A XOR B,再进行一次与B的异或操作,(A XOR B) XOR B=A,将A写入sige.ini中,即完成了解码操作。
下面开始写代码了。
Dim FileName1 As String '第一个文件
Dim FileName2 As String '第二个文件
Dim FileName3 As String '第二个文件
Dim arry() As Byte '用来读取文件的数组
FileName1 = App.Path + "sige1.ini"
FileName2 = App.Path + "xiaosi.ini"
FileName3 = App.Path + "sige2.ini"
'=============================
'读出sige1.ini的内容,进行编码
Open FileName1 For Binary As #1
ReDim arry(LOF(1) - 1) '重定义数组
Get #1, , arry() '取得第一文件的内容到数组
For i = 0 To LOF(1) - 1
arry(i) = "&H" & Hex(arry(i)) Xor &H58 '&H58当然可以是任意的数值
Next i
Close #1
'==================================
'编码后的内容(乱码)写入xiaosi.ini
Open FileName2 For Binary As #2
Put #2, , arry()
Close #2
'==================================
'读出xiaosi.ini的内容进行解码
Open FileName2 For Binary As #3
ReDim arry(LOF(3) - 1)
Get #3, , arry()
For i = 0 To LOF(3) - 1
arry(i) = "&H" & Hex(arry(i)) Xor &H58
Next i
Close #3
'==================================
'解码后的内容(乱码)写入sige2.ini
Open FileName3 For Binary As #4
Put #4, , arry()
Close #4
当然,以上只是进行的文件读写和编解码操作,至于程序本身其他的要求,将本代码插入程序需要的位置,即可实现。
写完了,看一下结果吧。
- ini文件加密
- 给INI文件内容XOR加密 VC实现
- c# 账号密码加密, 写入读取ini文件
- INI文件
- ini文件
- INI文件
- INI文件
- INI文件
- INI文件
- ini文件
- INI文件
- INI文件
- 自己写的数据访问层(使用ini文件加密存储sql数据库登陆信息)
- C# .net 读取INI文件 ini文件
- 操作ini文件
- C#读写INI文件
- INI文件的读写
- Ini文件简单封装
- 传智播客——隐藏boss出现
- sony nw25换windows 7专业版声卡驱动无法安转and如何取得TrustedInstaller权限用来删除系统文件?
- With KEY & With Table KEY 的使用
- 遍历目录及子目录(新浪)
- Irrlicht的FPS类型摄像头节点的基本使用技巧
- ini文件加密
- 安装中文VS2008 SP1 后智能提示是英文的解决办法(官方解决办法)
- Linux下FTP命令
- MDX标准函数列表
- 我
- 清空FPS摄像机和摄像机的子节点模型动作的缓存的函数方法
- 在配置文件中获取数据源,然后在hibernate中用sql语句进行查询操作
- 关于IRRLICHT中动态操作摄像机位置和旋转的条件函数
- eclipse 反编译插件安装