如何加密INTERBASE数据库?(200分)

  • 主题发起人 主题发起人 maming
  • 开始时间 开始时间
M

maming

Unregistered / Unconfirmed
GUEST, unregistred user!
INTERBASE数据库文件是可以COPY的,在您使用新安装的INTERBASE打开时,不需要原来的密码,请问谁能帮这个忙,先行谢过!
 
前面讨论过这个问题.基本没什麽好的解决办法.只能你亲自监视安装.不要别人随便拷
 
亲自监视安装?什么意思?
 
想出一个比较黑的办法:把你的数据库改个名字*.gbd 改为 *.vxd
读数据库时再改回来.copyfile(pchar(’*.vxd’),pchar(’*.gdb’),true);
然后再用你的程序控制用户权限.vxd 相信一般人不敢改.在呼他说这是重要文件.
 
编程中对写入Interbase中的数据先加密,日后copy备出去了,没程序也没用 :)
 
从别的途径想法加密!
 
呵呵!全是歪点子。:)
 
local interbase是如此,Server interbase别人无法Copy.
 
不论local interbase,还是interbase server,gdb数据库文件都是可以拷贝然后到另一个interbase server上打开的.基本上没有加法让别人将拷贝到的gdb数据库打不开.要想从根本上加密interbase数据,可以对数据库本身的数据进行加密,也就是说别人可以打开但看到的将全是乱码.我现在对关键数据的加密是通过TField的OnGetText和OnSetText进行的,这种方法加密字符串类型是很方便的,其它类型要麻烦些.只有你自己知道加密算法才能用自己编写的程序打开.
 
最好的办法是lanny的了,只有事先加密数据,才好,interbase本身也就没有考虑过多的数据加密,就象sysdba用户始终拥有超级权限,而任一用户不通改变此名字一样
 
其他数据库比如oracle、informix等都类似这样,还想interbase能如何?
 
在Interbase目录下,有一个isc4.gdb数据库,里面的内容即是各用户信息,包括Password!!要解决上面问题,可将该数据库Copy下来覆盖掉新的数据库!
当然,这样Interbase更无安全性了!!
 
结合nt安全性
 
可以这样。
先把*.gdb的文件头替换掉
程序运行开始时换回来,
程序结束时再替换掉.
 
我同意zhongyi80说的,除了加密数据或改文件名已无它法!
 
看来是没有更好的办法了。如有请来e_MAIL:MAMING_HN@162.NET收工了。
 
多人接受答案了。
 
后退
顶部