当前位置: 移动技术网 > IT编程>数据库>Oracle > oracle加密encrypt,解密decrypt

oracle加密encrypt,解密decrypt

2020年03月17日  | 移动技术网IT编程  | 我要评论

成安信息港,有声读物mp3下载,祝肇刚出诊时间

目录

oracle加密encrypt,解密decrypt

有的oracle版本没有加解密函数,以下操作可以手动添加

oracle数据使用加密解密,我们首先要先赋予dbms_crypto权限给用户。

grant execute on dbms_crypto to user;

加密

create or replace function f_encrypt_data(number_in in varchar2,
                                          secretkey in varchar2) return raw is
  number_in_raw raw(128) := utl_i18n.string_to_raw(number_in, 'al32utf8');
  key_number    varchar2(32) := secretkey;
  key_raw       raw(128) := utl_raw.cast_from_number(key_number);
  encrypted_raw raw(128);
begin
  encrypted_raw := dbms_crypto.encrypt(src => number_in_raw,
                                       typ => dbms_crypto.des_cbc_pkcs5,
                                       key => key_raw);
  return encrypted_raw;
end;

解密

create or replace function f_decrypt_data(encrypted_raw in raw,
                                          secretkey     in varchar2)
  return varchar2 is
  decrypted_raw raw(128);
  key_number    varchar2(32) := secretkey;
  key_raw       raw(128) := utl_raw.cast_from_number(key_number);
begin
  decrypted_raw := dbms_crypto.decrypt(src => encrypted_raw,
                                       typ => dbms_crypto.des_cbc_pkcs5,
                                       key => key_raw);
  return utl_i18n.raw_to_char(decrypted_raw, 'al32utf8');
end;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网