博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle列加密
阅读量:6077 次
发布时间:2019-06-20

本文共 1716 字,大约阅读时间需要 5 分钟。

加密函数

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;

解密函数

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;

加密

SQL> select encrypt_des('liang', 'xssssxxsese') from dual;

ENCRYPT_DES('LIANG','XSSSSXXSESE')

--------------------------------------------------------------------------------
5DC5AC97C81ECEEF

 

解密

SQL> select decrypt_des('5DC5AC97C81ECEEF', 'xssssxxsese') from dual;

DECRYPT_DES('5DC5AC97C81ECEEF','XSSSSXXSESE')

--------------------------------------------------------------------------------
liang

 

create table test_des (id int ,passwd varchar2(200));

insert into test_des values (1,encrypt_des('liang', 'xssssxxsese'));

SQL> select * from test_des;

ID PASSWD

---------- --------------------
1 5DC5AC97C81ECEEF

SQL> select id,decrypt_des(passwd, 'xssssxxsese') from test_des;

ID DECRYPT_DES(PASSWD,'XSSSSXXSESE')

---------- ---------------------------------------
1 liang

 

转载于:https://www.cnblogs.com/liang545621/p/9103524.html

你可能感兴趣的文章
Flutter 插件开发:以微信SDK为例
查看>>
.NET[C#]中NullReferenceException(未将对象引用到实例)是什么问题?如何修复处理?...
查看>>
边缘控制平面Ambassador全解读
查看>>
Windows Phone 7 利用计时器DispatcherTimer创建时钟
查看>>
程序员最喜爱的12个Android应用开发框架二(转)
查看>>
vim学习与理解
查看>>
DIRECTSHOW在VS2005中PVOID64问题和配置问题
查看>>
MapReduce的模式,算法以及用例
查看>>
《Advanced Linux Programming》读书笔记(1)
查看>>
zabbix agent item
查看>>
一步一步学习SignalR进行实时通信_7_非代理
查看>>
AOL重组为两大业务部门 全球裁员500人
查看>>
字符设备与块设备的区别
查看>>
为什么我弃用GNOME转向KDE(2)
查看>>
Redis学习记录初篇
查看>>
爬虫案例若干-爬取CSDN博文,糗事百科段子以及淘宝的图片
查看>>
Web实时通信技术
查看>>
第三章 计算机及服务器硬件组成结合企业运维场景 总结
查看>>
IntelliJ IDEA解决Tomcal启动报错
查看>>
默认虚拟主机设置
查看>>