对Oracle内部数据的加密,可简单得使用DBMS_CRYPTO实现;
DBMS_CRYPTO默认需要有SYSDBA系统权限的用户才可执行,其他用户都需要SYSDBA进行赋权。
一、授权方式
[ora11g@dl980a-ora ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.3.0 Production on Wed Mar 3 15:38:57 2021
Copyright (c) 1982, 2011, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@orcl> grant execute on dbms_crypto to orcl;
Grant succeeded.
二、随机值生成
使用DBMS_CRYPTO包可以有3个函数来生成简单的随机值,包括3种——数字、整数、字符。使用这些随机数生成函数是为了在加密时生成随机的密匙。具体用法如下:
SYS@orcl> select DBMS_CRYPTO.RandomInteger from dual;
RANDOMINTEGER
-------------
1207416100
–生成6位Bytes(注意返回的不是
SYS@orcl> select DBMS_CRYPTO.RandomBytes(6) from dual;
DBMS_CRYPTO.RANDOMBYTES(6)
--------------------------------------------------------------------------------
0183A60D74CA
–生成Number(正数)
SYS@orcl> select DBMS_CRYPTO.RandomNumber from dual;
RANDOMNUMBER
------------
5.4900E+37
以下为个人公众号,欢迎扫码关注: