CryptAuthCode

使用指定的加密哈希算法返回二进制 HMAC(加密哈希消息验证码)。

格式 

CryptAuthCode(数据;算法;密钥)

参数 

数据 - 用来生成 HMAC 的文本表达式或字段。

算法 - 要使用的加密算法的名称(参阅下文)。

密钥 - 充当对哈希编码的密钥的表达式或字段。

返回的数据类型 

容器

原始版本 

16.0

说明 

使用Base64EncodeRFC Base64Decode HexEncode HexDecode 函数来控制对密钥和返回的 HMAC 的编码。

对于算法参数,使用以下名称之一指定加密算法:

  • MD5

  • SHA1

  • SHA224

  • SHA256

  • SHA384

  • SHA512

如果算法为空 (""),则使用 SHA512 算法;如果使用的名称无法识别,此函数会返回"?"。

示例 1 

在“结果”容器字段中,存储一个文件,其中含有“消息”字段中文本的 HMAC。使用默认算法以“密钥”字段中的值对 HMAC 进行编码。

复制
设置字段 [ 表::结果 ; CryptAuthCode ( 表::消息 ; "" ; 表::密钥) ]

示例 2 

使用 SHA512 算法和十六进制编码密钥 $Key 返回 $JSON 变量内容的 HMAC。CryptAuthCode 返回的容器数据以 Base64 编码文本的形式返回。

复制
Base64EncodeRFC ( 4648; CryptAuthCode ( $JSON ; "SHA512" ; HexDecode ( $Key ; "key.data" ) ) )