oracle数据如何加密,oracle数据如何加密表数据

如何利用Oracle自带的MD5对数据进行加密

1、DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数

我们提供的服务有:网站设计、成都网站设计、微信公众号开发、网站优化、网站认证、淳安ssl等。为上1000家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的淳安网站制作公司

CREATE OR REPLACE FUNCTION MD5(passwd IN VARCHAR2)

RETURN VARCHAR2

IS

retval varchar2(32);

BEGIN

retval := utl_raw.cast_to_raw(DBMS_OBFUSCATION_TOOLKIT.MD5(INPUT_STRING = passwd)) ;

RETURN retval;

END;

select md5('123456') from dual;

MD5('123456')

e10adc3949ba59abbe56e057f20f883e

2、DES加密

create or replace function

encrypt_des(p_text varchar2, p_key varchar2) return varchar2 is

v_text varchar2(4000);

v_enc varchar2(4000);

raw_input RAW(128) ;

key_input RAW(128) ;

decrypted_raw RAW(2048);

begin

v_text := rpad( p_text, (trunc(length(p_text)/8)+1)*8, chr(0));

raw_input := UTL_RAW.CAST_TO_RAW(v_text);

key_input := UTL_RAW.CAST_TO_RAW(p_key);

dbms_obfuscation_toolkit.DESEncrypt(input = raw_input,key = key_input,encrypted_data =decrypted_raw);

v_enc := rawtohex(decrypted_raw);

dbms_output.put_line(v_enc);

return v_enc;

end;

DES加密:

update tb_salarysign_staff s set s.staffpwd =encrypt_des(s.staffpwd, 'test#5124*!de');

3、DES解密函数

create or replace function decrypt_des(p_text varchar2,p_key varchar2) return varchar2 is

v_text varchar2(2000);

begin

dbms_obfuscation_toolkit.DESDECRYPT(input_string = UTL_RAW.CAST_TO_varchar2(p_text),key_string =p_key, decrypted_string= v_text);

v_text := rtrim(v_text,chr(0));

dbms_output.put_line(v_text);

return v_text;

end;

DES解密:select decrypt_des(s.staffpwd, 'test#5124*!de') from tb_salarysign_staff s;

oracle 字段加密

这个主要看软件开发人员的加密方式

一般流程是,

1.新建用户,或者修改密码时候,将用户输入的密码按照一定的加密方式加密后储存在数据库

2.在用户登录的时候,将用户所输入的密码再次进行加密后与数据库内的加密密码对比

这样做的好处是,防止密码在网络传输过程中被截取,比如黑客可以对网络传输的数据进行抓包分析,对于加密的密码在传输过程中不是以明文进行传输,如果被窃取到数据,不能得到有效破解,也是没有用的,这就增加了可靠性。

如何对Oracle中的PL/SQL源码进行加密

可以使用wrap 工具或者DBMS_DDL子程序对PL/SQL源码进行加密。wrap工具加密单个源文件,如SQL*Plus脚本。DBMS_DDL子程序加密单个动态生成的PL/SQL单元,如一个CREATE PROCEDURE声明。加密的源文件可以移动,备份,可被SQL*Plus和Improt和Export工具处理,但在静态数据字典视图*_SOURCE中无法看到源码。 WRAP语法 wrap iname=input_file [oname=output_file ] 可省略文件扩展名,如以下的命令是等同的: wrap iname=/mydir/myfile wrap iname=/mydir/myfile.sql 输出文件默认的扩展名为.plb,当然你也可以指定不同的文件名和扩展名。 wrap iname=/mydir/myfile oname=/yourdir/yourfile.out wrap主要是混淆PL/SQL语句的主体部分,如下CREATE语句可以被加密: CREATE [OR REPLACE] FUNCTION function_name

CREATE [OR REPLACE] PROCEDURE procedure_name

CREATE [OR REPLACE] PACKAGE package_name

CREATE [OR REPLACE] PACKAGE BODY package_name

CREATE [OR REPLACE] TYPE type_name AS OBJECT

CREATE [OR REPLACE] TYPE type_name UNDER type_name

CREATE [OR REPLACE] TYPE BODY type_name CREATE [OR REPLACE] TRIGGER语句不能被加密,但你可调用加密的过程。加密文件中除了语句头部和C风格(/*…*/)注释外,其它所有注释被删除。

Oracle如何加密视图源码?

最简单的,把sys收了,异用户查询授权。

要是涉及到代码移交,那就用函数实现view,然后用DBMS_DDL.WRAP加密

oracle数据库的存储过程如何加密 具体的实现方法是什么

可以例用Oracle

自带的Wrap工具实现,此工具在$ORACLE_HOME/BIN目录下,具体如下

1、设置字符集环境变量

set

NLS_LANG=CHINESE_CHINA.ZHS16GBK

2、创建一个存储过程文件

在E:\下创建test.sql文件,内容如下:

create

or

replace

procedure

test1(i

in

number)

as

begin

dbms_output.put_line('

输入参数是'||to_char(i));

end;

3、加密

c:\

cd

%ORACLE_HOME%\BIN

c:\wrap

iname=e:\test1.sql

PL/SQL

Wrapper:

Release

8.1.7.0.0

-

Production

on

Tue

Nov

27

22:26:48

2001

Copyright

(c)

Oracle

Corporation

1993,

2000.All

Rights

Reserved.

Processing

test1.sql

to

test1.plb

4、运行test1.plb

sqlplus

/nolog

SQLconn

TEST/TEST@db01

SQL

@e:\a.plb

过程已创建。

5、运行存储过程

SQL

set

serveroutput

on

SQL

execute

test1(1);

输入参数是1

PL/SQL

过程已成功完成。

6、查看存储过程的代码

SQL

select

name,text

from

all_source

where

type='PROCEDURE'

and

name='TEST1';

结果:看不到其原码

如何在Oracle SecureFiles中加密数据

用于加密非LOB字段的透明数据加密语法与在Oracle SecureFiles中启用加密的语法完全相同。它们有一个重要的区别,非LOB字段可以使用NO SALT参数阻止TDE在加密数据之前先给数据添加一个随机字符串。Oracle SecureFile LOB字段不支持NO SALT选项。我们可以使用数据字典视图USER_ENCRYPTED_COLUMNS确定应该加密哪一些字段,以及这些字段的状态。下面是一些ENCRYPT子句的例子:

CREATE TABLE tab_3DES (col1 CLOB ENCRYPT USING '3DES168')

LOB(col1) STORE AS SECUREFILE(

CACHE

NOLOGGING

);

使用默认加密算法(AES192)和一个密码创建一个Oracle SecureFile LOB字段:

CREATE TABLE tab_enc_pw (col1 CLOB ENCRYPT IDENTIFIED BY badpassword)

LOB(col1) STORE AS SECUREFILE(

CACHE

);

使用AES256启用LOB加密:

ALTER TABLE tab_nocrypt MODIFY

( col1 CLOB ENCRYPT USING 'AES256');

通过重新生成加密密钥修改一个Oracle SecureFiles字段:

ALTER TABLE tab_3DES REKEY USING 'AES256';

Disable LOB encryption:

禁用LOB加密:

ALTER TABLE tab_enc_pw MODIFY

( col1 CLOB DECRYPT);

Oracle数据库中存储的大对象数据容量会继续增长,但是存储费用在不断下降。其中有许多的敏感数据,如医疗记录、员工数据和知识产权。能够对这些信息进行加密,这是非常宝贵的,也可以避免在将来投入大量金钱和精力去实现安全性。


当前标题:oracle数据如何加密,oracle数据如何加密表数据
地址分享:http://hbruida.cn/article/hcohdi.html