Skip to content

MAC

接口/方法功能

计算数据的HASH消息认证码。

接口/方法声明

sql
FUNCTION MAC(
    src IN {RAW | BLOB | CLOB},
    typ IN INTEGER,
    key IN RAW
) RETURN RAW;

参数说明

参数名称参数类型参数解释默认值
srcRAW/BLOB/CLOB要计算哈希值的数据
typINTEGERHMAC算法类型
keyRAW用于计算消息认证码的密码

操作示例

sql
DECLARE
  typ INTEGER := DBMS_CRYPTO.HMAC_MD5;
  src1 BLOB := UTL_RAW.CAST_TO_RAW('1');
  src2 CLOB := '123456';
  src3 RAW := UTL_RAW.CAST_TO_RAW('1');
  key RAW := UTL_RAW.CAST_TO_RAW('0123456789abcdef');
  result RAW;
BEGIN
  result := DBMS_CRYPTO.MAC(src1,typ,key);
  SEND_MSG(RAWTOHEX(result));
  result := DBMS_CRYPTO.MAC(src2,typ,key);
  SEND_MSG(RAWTOHEX(result));
  result := DBMS_CRYPTO.MAC(src3,typ,key);
  SEND_MSG(RAWTOHEX(result));
END;
/

也可以直接使用SELECT语句。

sql
SELECT DBMS_CRYPTO.MAC('123456', 1, UTL_RAW.CAST_TO_RAW('0123456789abcdef'));