oracle 密码的加密和解密
2016-09-27 10:26
585 查看
加密函数
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;
------------------------------------------------------------
加密
select encrypt_des('feng', 'test#5&124*!de') from dual;
输入秘钥:15+5=17 结果:B33F50EA2F5E23D7
解密
select decrypt_des('B33F50EA2F5E23D7', 'test#5&124*!de') from dual;
输入秘钥:15+5=17 结果:feng
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;
------------------------------------------------------------
加密
select encrypt_des('feng', 'test#5&124*!de') from dual;
输入秘钥:15+5=17 结果:B33F50EA2F5E23D7
解密
select decrypt_des('B33F50EA2F5E23D7', 'test#5&124*!de') from dual;
输入秘钥:15+5=17 结果:feng
相关文章推荐
- DBA_Oracle Erp加密和解密账户密码(案例)
- oracle 密码的加密和解密
- 加密和解密会员注册密码
- PB数据库连接描述文件的密码加密和解密原理
- oracle 函数 实现简单的加密解密
- 采用密码加密的javascript字符串加密、解密程序
- 加密和解密会员注册密码
- 采用密码加密的javascript字符串加密、解密程序
- [走火入魔失眠夜]浅谈管理软件信息安全,用户名、密码的加密解密【附C#配套加密解密源码】
- Maximo加密解密用户密码的实现
- Maximo加密解密用户密码的实现
- [走火入魔失眠夜]浅谈管理软件信息安全,用户名、密码的加密解密【附C#配套加密解密源码】
- oracle9.1的加密解密包的用法
- [走火入魔失眠夜]浅谈管理软件信息安全,用户名、密码的加密解密【附C#配套加密解密源码】
- [走火入魔失眠夜]浅谈管理软件信息安全,用户名、密码的加密解密【附C#配套加密解密源码】
- 维吉尼亚(Vigenère)密码的加密和解密以及方阵(js版)
- PB数据库连接描述文件的密码加密和解密原理
- PB数据库连接描述文件的密码加密和解密原理
- 利用TEA算法实现加密密码文件生成与解密
- C# 密码的加密, 解密