应用服务器和数据库服务器之间的数据传输加密有哪些可行的方法?
主要是想数据库中能够支持。

解决方案 »

  1.   

    估计这里对这块熟悉的人比较少,自己看官方文档吧。
    http://download.oracle.com/docs/cd/B19306_01/network.102/b14268/toc.htm 
      

  2.   

    slabcde, tks.
    好象有道理。但是web应用程序在browser发送请求到server,再连接db,这个browser请求需要加密。
    网上牛人们说连接到ORACLE数据库方式有两种,一种是通过sqlnet.ora文件,另一种是通过JDBC方式。加密方式如下,还是不太明白。设置传输加密在服务器端是通过设置sqlnet.ora文件实现的。此文件可以动态修改,也就是说可以在数据库运行时直接打开此文件,加入下面代码随即生效:
    SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_40)
    SQLNET.ENCRYPTION_SERVER = accepted       
    SQLNET.CRYPTO_SEED =P@ssw0rd1    # 加密种子
    通过sqlnet.ora文件连接到ORACLE数据库的在客户端也有这个文件。设置也是可以动态修改的,加入下面代码随即生效:
    SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_40)
    SQLNET.ENCRYPTION_SERVER = requested       
    SQLNET.CRYPTO_SEED =P@ssw0rd1    # 加密种子
    通过JDBC连接到数据库的方式,需要在加密的网页中加入下面的代码:
    <%@ page session="false" %>
    <%@ page import="java.sql.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="oracle.net.ns.*" %>
    <%@ page import="oracle.net.ano.*" %>
        Properties prop = new Properties();
        prop.put("user","test");
        prop.put("password","test");
        prop.put("oracle.net.encryption_client", "REQUESTED");
    prop.put("oracle.net.encryption_types_client", "(RC4_40)");
     ――无需设置加密种子。
    上面的加密代码加到每一个利用JDBC连接到数据库的网页中随即生效 。