我也没做过,我想可以的。
加密文件以临时文件的方式保存。压缩算法实现最终的保存文件,
每次执行时先调ZIP库将文件展开,然后用解密算法将数据保存到内存中。
如果有改变的话,退出时就将内存中的数据加密后写到加密文件中,再调ZIP库的压缩算法,
生成压缩文件并清除临时文件。
你觉得怎样。

解决方案 »

  1.   

    hujun614(胡均)
    谢谢你的回答,我始终不明白象金山词霸的数据怎么保存的
    我想实现类似的功能
    如果商用软件数据不加密(软件是单机版带数据库的),如果用access数据库,使用者很快就可以把你的数据拿走了,那么这个软件就没有价值了
    真是痛苦,不知道该怎么办,希望能大家能给点意见!!
      

  2.   

    看来你还没有搞懂VC的document/view结构特点和Serialize的运作方式,这就是微软
    的document/view和Serialize的精华所在了,这确实不是一两句话就可以说清楚的。
    简单的说,你要从CObject继承一个类(或几个,根据具体要求),这样,这个对象就可以有RTTI等特性。另外,还要有几个宏,然后你要改写Serialize虚函数。
    找本书好好看看这一部分,会有收获的。
    当然,在你设计存储类以前,要先做好加密工作。
      

  3.   

    zhouqiming(碰碰车)
    谢谢你的回答,vc可以实现,我没有研究过,我的程序是用vb开发,很抱歉,不知道vb
    能不能实现,如果没有办法,我只好用vc写dll了,在不行,就只好用vc 但是我如果改用vc,就麻烦大了,天啊,那位大虾知道vb怎么实现zhouqiming(碰碰车)的功能吗(不用dll),我只要怎么实现的过程,不要源代码,代码我自己会写,希望高手多帮帮忙
      

  4.   

    呵呵,没有分了。
    你那里面要是全都是文本的东西,可以按二进制保存,调用一个API就可以,在
    文本关键的部位(如换行,字体,一个结构的开始结尾)设置一些你自己定义的
    二进制值。另外,还可以把文本的二进制码加密,加密算法你自己编一个就可以了。
    打开的时候也是一样。