oracle密码怎么加密 oracle密码加密和解密算法

oracle 字段加密

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

创新互联公司2013年至今,是专业互联网技术服务公司,拥有项目网站制作、成都网站设计网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元凉城做网站,已为上家服务,为凉城各地企业和个人服务,联系电话:028-86922220

一般流程是,

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

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

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

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自带的MD5对数据进行加密

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

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如何加密视图源码?

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

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


分享标题:oracle密码怎么加密 oracle密码加密和解密算法
本文URL:http://pwwzsj.com/article/hiodhe.html