Oracle 加密解密 dbms_crypto
来源:互联网 发布:数据车床编程步骤 编辑:程序博客网 时间:2024/05/21 08:51
官方文档 关于dbms_crypto包
http://docs.oracle.com/cd/B19306_01/appdev.102/b14258/d_crypto.htm
CreateOrReplacePackage cryptoAs
Function encrypt(p_original_stringInVarchar2)ReturnVarchar2;
Function decrypt(p_encrypted_stringInVarchar2)ReturnVarchar2;
End crypto;
/
CreateOrReplacePackageBody cryptoAs
original_string Varchar2(32767);
encrypted_string Varchar2(32767);
decrypted_string Varchar2(32767);
-- stores encrypted binary text
encrypted_raw Raw(2000);
-- stores decrypted binary text
decrypted_raw Raw(2000);
-- key length 256 bits (32 bytes)
--num_key_bytes NUMBER := 256/8;
--key_bytes_raw RAW(32) :=DBMS_CRYPTO.RANDOMBYTES(num_key_bytes);
-- stores 256-bit encryption key
key_bytes_raw Raw(16) :=utl_i18n.string_to_raw('F77E8E04888416B3',
'AL32UTF8');
key_iv Raw(16) := utl_i18n.string_to_raw('0102030405060708',
'AL32UTF8');
-- total encryption type
encryption_type Pls_Integer := dbms_crypto.encrypt_aes128 +
dbms_crypto.chain_cbc +
dbms_crypto.pad_pkcs5;
Function encrypt(p_original_stringInVarchar2)ReturnVarchar2Is
Begin
original_string :=p_original_string;
encrypted_raw :=dbms_crypto.encrypt(src => utl_i18n.string_to_raw(original_string,
'AL32UTF8'),
typ=> encryption_type,
key =>key_bytes_raw);
encrypted_string := rawtohex(encrypted_raw);
Return encrypted_string;
End;
Function decrypt(p_encrypted_stringInVarchar2)ReturnVarchar2Is
Begin
encrypted_string := p_encrypted_string;
encrypted_raw :=hextoraw(encrypted_string);
decrypted_raw :=dbms_crypto.decrypt(src => encrypted_raw,
typ=> encryption_type,
key=> key_bytes_raw);
decrypted_string := utl_i18n.raw_to_char(decrypted_raw,'AL32UTF8');
Return decrypted_string;
End;
End crypto;
/
- Oracle 加密解密 dbms_crypto
- Oracle 数据库中的内容加密与解密 dbms_crypto
- DBMS_CRYPTO包对Oracle加密
- Oracle中 的 DBMS_CRYPTO加密包
- Oracle 10g 加密包 DBMS_CRYPTO
- Oracle中 的 DBMS_CRYPTO加密包
- Oracle之DBMS_CRYPTO包的使用(加密包)
- oracle中通过DBMS_CRYPTO包对表敏感字段进行加密
- Oracle加密解密方法
- oracle加密解密函数
- Oracle加密解密函数
- oracle 的加密解密函数
- oracle 字段加密解密方法
- Oracle杂文:base64加密解密
- oracle 字段加密解密方法
- oracle存储过程加密如何解密?
- oracle 密码的加密和解密
- oracle 9i 使用dbms_obfuscation_toolkit加密解密
- DIY固件系列教程——实现开机LOGO三屏动画的完全替换
- 正则表达式
- Maven的安装、配置及使用入门
- 冒泡排序法
- Spring与CXF结合发布WebService
- Oracle 加密解密 dbms_crypto
- Reactor模式
- experiment : IdaPython's Choose useage
- 如何选择ESB
- (++i) + (++i) + (++i) + (++i)
- ARM9硬件接口学习专题
- 触发器里的new和old
- 分布式数据库系统---商旅预定系统的实现(4)
- Java学习疑点(2)--被static修饰的静态变量与实例变量之间生命周期的区别