set_hmac_sha256

'set_hmac_sha256' 指令用于计算 HMAC-SHA256 哈希值。

语法set_hmac_sha256 $var_name $key $input_string;
默认值none
上下文http, server, location, if in server, if in location
参数3

说明

'set_hmac_sha256' 指令来自 NGINX Set-Misc 模块,允许使用 SHA-256 哈希算法计算 HMAC(Hash-based Message Authentication Code)。该指令接受三个参数:用于存放计算结果哈希的变量名、用于 HMAC 计算的密钥,以及将被哈希的输入字符串。必须按指定顺序提供这些参数。\n\n在处理配置时,该指令使用提供的密钥计算输入字符串的 HMAC-SHA256。此功能可用于确保消息的完整性和真实性,使 Web 应用能够验证消息在传输过程中未被篡改。计算结果存储在指定变量中,供 NGINX 稍后使用或传递给其他指令。\n\n该指令可在多个上下文中使用,包括 'http'、'server'、'location',甚至在 'server' 和 'location' 内的 'if' 指令中,因此对不同配置需求具有灵活性。

配置示例

http {
    server {
        location /hmac {
            set $my_key "secret_key";
            set $my_input "message to hash";
            set_hmac_sha256 $result $my_key $my_input;
            add_header X-Result $result;
        }
    }
}

确保 key 和 input string 已正确定义;不正确的值可能导致意外结果。

该 variable 必须正确声明;否则,计算得到的 HMAC 将无法在后续使用中访问。

← 返回所有指令