oracle数据加密存储(oracle数据库加密方式)

oracle数据加密存储(oracle数据库加密方式)

Oracle数据库的高级安全选项提供了传输数据加密、数据完整性验证等多项功能,在一定程度上可以保证数据传输的安全性。

连接到ORACLE数据库方式有两种,一种是通过sqlnet.ora文件,另一种是通过JDBC方式。

为了使用Oracle的高级安全选项,对此功能进行了简单测试:

功能方面:无论是利用sqlnet.ora还是通过JDBC连接到ORACLE数据库,这两种方式都可以进行实现数据加密。

性能方面:不加密情况下执行时间较短、数据包个数相对较少且CPU空闲率相对较高。使用RC4_40和RC_4_56的加密算法对性能影响较小,CPU使用率和执行时

间增加不超过1%。使用DES40C和DES56C对系统性能影响不超过2%。

高频调用测试:我们利用loadrunner模拟10个客户端进行同时调用,不加密时CPU的占用率要比使用加密算法时CPU的占用率低2-3%左右。对于本次测试,使用RC4_40和RC4_56算法比使用DES40和DES50算法节省大约10秒左右。

通过测试我们可以看出传输的数据进行加密会对系统性能产生一定的影响,但这种影响不是很大。通过对比几种加密算法,我们可以看出RC系列算法明显好于DES系列算法。而在某些DML语句上面RC4_40的性能比RC4_56表现更好。

因此,这里我们建议使用RC_40算法对通过传输的数据进行加密。

设置传输加密在服务器端是通过设置sqlnet.ora文件实现的。此文件可以动态修改,也就是说可以在数据库运行时直接打开此文件,加入下面代码随即生效:

SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_40)

SQLNET.ENCRYPTION_SERVER = accepted

SQLNET.CRYPTO_SEED = # 加密种子

通过sqlnet.ora文件连接到ORACLE数据库的在客户端也有这个文件。设置也是可以动态修改的,加入下面代码随即生效:

SQLNET.ENCRYPTION_TYPES_SERVER= (RC4_40)

SQLNET.ENCRYPTION_SERVER = requested

SQLNET.CRYPTO_SEED = # 加密种子

通过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连接到数据库的网页中随即生效 。

分享到 :
相关推荐

HawkHost云虚拟主机重建/格式化教程

HawkHost云虚拟主机重建/重新安装需要完全格式化并删除现有所有文件。此过程无法...

购买RAKsmart服务器如何用信用卡付款

RAKsmart服务器优惠活动正在火热进行中。近期有网友咨询“加购了一台RAKsma...

云服务器应用有哪些优势(云服务器应用有哪些优势和劣势)

云服务器应用的优势有:1。整体性能好。计算能力强。能不断升级技术和硬件设备;2。采购...

购买韩国服务器应该考虑哪些方面(购买韩国服务器应该考虑哪些方面的问题)

购买韩国服务器应该考虑的方面:1。需要对韩国服务器进行速度以及稳定性测试。从而保障服...

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注