ENCRYPT
接口/方法功能
- 加密二进制或字符串类型数据。
- 加密Blob数据。
接口/方法声明
加密二进制或字符串类型数据
FUNCTION Encrypt (src IN RAW,typ IN INTEGER, key IN RAW,iv IN RAW DEFAULT NULL) RETURN RAW; FUNCTION Encrypt (src IN VARCHAR,typ IN INTEGER, key IN VARCHAR,iv IN VARCHAR DEFAULT NULL) RETURN RAW;
加密Blob数据
PROCEDURE Encrypt (dst IN OUT BLOB,src IN BLOB,typ IN INTEGER,key IN RAW,iv IN RAW DEFAULT NULL); PROCEDURE Encrypt (dst IN OUT BLOB,src IN CLOB ,typ IN INTEGER,key IN RAW,iv IN RAW DEFAULT NULL);
参数说明
加密二进制或字符串类型数据
参数名称 参数类型 参数解释 默认值 src RAW/VARCHAR 要加密的资源 无 typ INTEGER 加密类型/套件,由块加密算法、模式、填充方式组成 无 key RAW/VARCHAR 用于加密解密的密码 无 iv RAW/VARCHAR - NULL 加密Blob数据
参数名称 参数类型 参数解释 默认值 dst BLOB/CLOB - 无 src BLOB 要加密的资源 无 typ INTEGER 加密类型/套件,由块加密算法、模式、填充方式组成 无 key RAW 用于加密解密的密码 无 iv RAW - NULL
操作示例
加密二进制或字符串类型数据
DECLARE typ INTEGER := DBMS_CRYPTO.ENCRYPT_AES + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5; src VARCHAR := 'abcdefghijklmnopqrstuvwxyz'; enc_bin RAW; key VARCHAR := '这是key'; BEGIN enc_bin:=DBMS_CRYPTO.ENCRYPT(src,typ,key); SEND_MSG(enc_bin); END;
加密Blob数据
//暂未提供大对象加密 DECLARE typ INTEGER := DBMS_CRYPTO.ENCRYPT_AES + DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5; b blob; enc_bin RAW; key raw; BEGIN select hextoraw('54') into key; for i in (select * from t2) loop DBMS_CRYPTO.ENCRYPT(b,i.c,key,null); SEND_MSG(utl_raw.CAST_TO_VARCHAR2(b)); end loop; END;