数据库为0racle9i,程序为一个各子模块数据关联性很强的系统,现在要求加密其中一个子模块(或子程序),因关联性很强,现求一个比较实际的方法,实现数据字段加密,因为数据库已经能被别家公司连上,目的是让别的公司即使连上数据库,字段因为加过密,也无实际使用价值。现在迫切想得到大家的指点,方式一、在不动程序的情况下实现这些(最理想);方式二,动程序,更新前对字段值进行加密,这样比较麻烦,只要有数据读取,更新的地方都有加加解密的功能。那位帮助指定一下,多谢

解决方案 »

  1.   

    字段内容加密似乎不太现实,是不是可以通过Oracle用户权限来控制比较好一些,把提供的那个客户权限降低不允许访问某些表等等
      

  2.   

    原来设计的问题,此用户唯一且拥有DBA权限,而且能读所有表,如果降低权限,将使很多模块不能使用。并且系统在用户那已经运行几年了,涉及的部门多,业务广。(另外一个办法,除非叫另一家公司别连我们数据库,这样就解决问题了,涉及到商业竞争,小员工我就无能为力了,只能从技术上来实现)
      

  3.   

    不要想着一劳永逸,要想想其它扩展的办法。如你的程序为A,你专用的数据库为B,其它厂商的程序为C。那么你可以做如下处理:1、保证A、B自己的关系不要动。
    2、额外出现一个中间部分D,你们自己来实现。
    3、让D来访问B,让C去访问D。至于这个中间部分的D,是采用其它相对独立的数据表,还是封装好的WebService,亦或者是只能访问某些指定数据表的DLL都可以,就看如何实现起来方便啦。