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

更多服务器知识文章推荐:
分享到 :
相关推荐

Namecheap域名如何转移到新账户

Namecheap是一家知名的域名注册商。支持.com。.net。.org等多种后缀...

免备案云服务器多少钱(免备案云服务器租用)

最近不少网站工作人员以及想要自己建设网站的朋友们都在问免备案云服务器的价格,怎样选择...

腾讯云服务器安装宝塔面板图文教程(腾讯云服务器安装宝塔面板图文教程下载)

腾讯云服务器如何安装宝塔面板?腾讯云服务器是腾讯云提供的可扩展计算服务。能够在短时间...

国外服务器在哪里买便宜 性价比高的国外服务器推荐(国外服务器哪家便宜)

国外服务器在哪里买便宜?国外服务器近年来由于免备案。资源充足。租用价格便宜等优势受到...

发表评论

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