Oracle的AES加密与解密用法

发布时间:2024-11-24 20:31

解密技巧:学习简单的密码破译方法 #生活技巧# #工作学习技巧# #数字技能训练#

最新推荐文章于 2024-07-08 07:38:39 发布

星河_赵梓宇 于 2019-09-02 15:23:04 发布

Oracle的AES加密与解密用法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/iteye_751/article/details/82553170

加密函数

--加密字符串

create or replace function des3_enc

(

input varchar2

)

return varchar2

is

i_data varchar2(128);

v_in varchar2(255);

i_key varchar2(128);

raw_input RAW(128) ;

key_input RAW(128) ;

decrypted_raw RAW(2048);

begin

--判断是否为空

if input is null then

return null;

else if input='' then

return '';

end if;

end if;

--key,至少要16位

i_key:= 'abcdef0123456789';

--要加密信息

i_data:= input;

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

--字符转成RAW

raw_input := UTL_RAW.CAST_TO_RAW(v_in);

key_input := UTL_RAW.CAST_TO_RAW(i_key);

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

--加密信息转成字符

return to_char(rawtohex(decrypted_raw));

end des3_enc;

解密函数

--解密字符串

create or replace function des3_dec

(

input varchar2

)

return varchar2

is

i_data varchar2(2048);

i_key varchar2(2048);

v_in varchar2(2048);

begin

--判断是否为空

if input is null then

return null;

else if input='' then

return '';

end if;

end if;

--key,至少要16位

i_key:= 'abcdef0123456789';

--要解密的信息

i_data := input;

dbms_obfuscation_toolkit.DES3DECRYPT(input_string => UTL_RAW.CAST_TO_varchar2(i_data),key_string => i_key,decrypted_string=> v_in);

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

--返回解密信息

return v_in;

end des3_dec;

加密触发器

--触发器,用于在增加、修改时自动加密字段,查询时需要手动调用解密函数进行解密。

create or replace trigger enc_trigger

before insert or update on scott.dept

for each row

begin

select des3_enc(:new.dname) into :new.dname from dual;

end enc_trigger;


使用示例

--使用示例:

insert into dept values (50,'test','test');

commit;

select des3_dec(dname) from dept where deptno=50;

网址:Oracle的AES加密与解密用法 https://www.yuejiaxmz.com/news/view/242380

相关内容

oracle 用户被锁定解锁方法
HarmonyOS Next 加密通信实战:打造安全聊天应用
HarmonyOS Next 加密文件存储实战:保障数据安全
物联网中的数据加密技术
解密Blob加密的src拼接的url视频资源
Oracle查询优化改写技巧与案例2.0
oracle 清理lob set (lob字段)='n',ORACLE数据库使用的常见问题(三)
数据泄漏防护:无线网络安全与防护1.背景介绍 无线网络的发展与应用不断扩大,成为了人们生活和工作中不可或缺的一部分。然而
Oracle 大表数据删除/清理方法小结
网络安全与信息安全:防护之道与加密技术

随便看看