MAC
接口/方法功能
计算数据的HASH消息认证码。
接口/方法声明
sql
FUNCTION MAC(
src IN {RAW | BLOB | CLOB},
typ IN INTEGER,
key IN RAW
) RETURN RAW;
参数说明
参数名称 | 参数类型 | 参数解释 | 默认值 |
---|---|---|---|
src | RAW/BLOB/CLOB | 要计算哈希值的数据 | 无 |
typ | INTEGER | HMAC算法类型 | 无 |
key | RAW | 用于计算消息认证码的密码 | 无 |
操作示例
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'));