oracle怎么加密 oracle怎么加锁

如何在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如何加密视图源码?最简单的,把sys收了,异用户查询授权 。
要是涉及到代码移交,那就用函数实现view,然后用DBMS_DDL.WRAP加密
Oracle--使用Wrap工具加密你的SQL Oracle提供Wrap工具 可以用于加密你的Package等
不过需要注意的是 加密后的代码无法解密 你需要保管好你的源代码
以下是个例子
源代码
create or replace function get_rowid
(l_rowid in varchar )
return varchar
is
ls_my_rowidvarchar ( )
rowid_typenumber;
object_numbernumber;
relative_fnonumber;
block_numbernumber;
row_numbernumber;
begin
dbms_rowid rowid_info(l_rowid rowid_type object_number relative_fno block_number row_number)
ls_my_rowid := Object# is: ||to_char(object_number)||chr( )||
Relative_fno is : ||to_char(relative_fno)||chr( )||
Block number is : ||to_char(block_number)||chr( )||
Row number is: ||to_char(row_number)
return ls_my_rowid ;
end;
/
代码功能测试
[oracle@jumper tools]$ sqlplus scott/tiger
SQL*Plus: Release Production on Mon Nov : :
Copyright (c) Oracle CorporationAll rights reserved
Connected to:
Oracle i Enterprise Edition Release Production
With the Partitioning option
JServer Release Production
SQL @f_get_rowid
Function created
SQL select rowid from dept where deptno= ;
ROWID
AAABiPAABAAAFRSAAA
SQL select get_rowid( AAABiPAABAAAFRSAAA ) from dual;
GET_ROWID( AAABIPAABAAAFRSAAA )
Object# is:
Relative_fno is :
Block number is :
Row number is:
SQL !
[oracle@jumper tools]$ ls
ct sqlddlt sqlf_get_rowid sqlgetevent sql
使用wrap加密及加密后的代码
[oracle@jumper tools]$ wrap iname=f_get_rowid sql oname=f_get_rowid plb
PL/SQL Wrapper: Release Production on Mon Nov : :
Copyright (c) Oracle CorporationAll Rights Reserved
Processing f_get_rowid sql to f_get_rowid plb
[oracle@jumper tools]$ cat f_get_rowid plb
create or replace function get_rowid wrapped
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
abcd
:e:
FUNCTION:
GET_ROWID:
L_ROWID:
VARCHAR :
RETURN:
LS_MY_ROWID:
:
ROWID_TYPE:
NUMBER:
OBJECT_NUMBER:
RELATIVE_FNO:
BLOCK_NUMBER:
ROW_NUMBER:
DBMS_ROWID:
ROWID_INFO:
Object# is:::
||:
TO_CHAR:
CHR:
:
Relative_fno is :::
Block number is :::
Row number is:::
a d f a b d b
: a c a a a a c
b a a c b a
a c b a a c
b a a c b a a
c b : a b : a a
a e e : a a b b e
e a a b b e e
e b e e : a a b b
e e a a b b e
e e b e e : a a b
b e e a a b b
e e e b e e : a a
b b e d : a b a
b f d b
f e b b
c b
c
d c a c
a c b b bc dd
cc d d c e e eb
ef f f fb ff
d d e
d
c a e
b e
e c f
a b a
b d e a a ab ac b
b b bc bd bf c c c
cd d d d db dd e ed
ef f f
a d : :
: e : e : : d :
: : : f : : f : : d
: d b
: e : : c
e : e : :
: : d f : f
: : :
: d f : f :
: : : :
:
: : :
: : : :
: : : a :b c
: d e : d : e
: d : e : d e
f : d : f : d
: f : d f
: d : : d :
: b :
fb
: :
:a e :
:
: :
: :
:
e a
: b
:
: d f
:
c :
f d
: :
c
:
: : c
a c
a : c
:
e : f
c b
: :
:
c c :
e : :
: b
c d
: f : c
d :
: a :
b : c :
d : e
: a
: :
: : a
: c a c
e e :
: :
:
: :
:
: :
: b :
c e b b
: :
: :
e
:
: :
b :
: : c
: e
d :
【oracle怎么加密 oracle怎么加锁】: :
: b
d
: :
: b d
: :
: d :
f
:
a :
: :
a d :
d c d c
a b : e
: a d
: e
:
:
e
c
d
f
b
d
f
d a f
a
f c
a
c
e
b
a
c
d
/
测试加密后的代码
[oracle@jumper tools]$ exit
exit
SQL drop function get_rowid;
Function dropped
SQL @f_get_rowid plb
Function created
SQL select get_rowid( AAABiPAABAAAFRSAAA ) from dual;
GET_ROWID( AAABIPAABAAAFRSAAA )
Object# is:
Relative_fno is :
Block number is :
Row number is:
lishixinzhi/Article/program/Oracle/201311/18606
关于oracle数据库加密的函数Oracle 提供两种加密方式:
a)加密 API 例如包 和 dbms_crypto使用这些包 , 可以构建我们自己的基础架构 , 对数据进行加密 。这种方法的灵活性最强 , 但是构建和管理却相当复杂 。
b)透明的数据加密是 Oracle 数据库 ;使用该特性后 , 就不必手动进行密码管理了 。
数据库管理密码,但是正如名称所指,加密是透明的——数据仅仅以加密的方式存储而已 。在Oracle10g中出现了dbms_crypto替代了之前的dbms_obfuscation_toolkit,DBMS_CRYPTO增加了若干新的加密算法、哈希算法 。
DBMS_CRYPTO还撤销了对于public组的执行权限 。
oracle 字段加密这个主要看软件开发人员的加密方式
一般流程是,
1.新建用户,或者修改密码时候,将用户输入的密码按照一定的加密方式加密后储存在数据库
2.在用户登录的时候,将用户所输入的密码再次进行加密后与数据库内的加密密码对比
这样做的好处是,防止密码在网络传输过程中被截?。?比如黑客可以对网络传输的数据进行抓包分析,对于加密的密码在传输过程中不是以明文进行传输,如果被窃取到数据 , 不能得到有效破解,也是没有用的,这就增加了可靠性 。
如何利用Oracle自带的MD5对数据进行加密1、DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码oracle怎么加密的数据包函数
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 =https://www.04ip.com/post/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 soracle怎么加密;
关于oracle怎么加密和oracle怎么加锁的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读