Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Aplica a:
Databricks SQL
Runtime 19 y superiores
Devuelve el código de autenticación por hash con clave (HMAC) de message usar key y un hash algorithm.
Un HMAC verifica tanto la integridad como la autenticidad de un mensaje utilizando un secreto keycompartido: un destinatario que lo posea key puede recalcular el código y confirmar que el mensaje no fue alterado y proviene de una parte que conoce la clave. Los usos comunes incluyen la firma de solicitudes de API, la validación de cargas útiles de webhook y la obtención de claves de firma encadenando llamadas HMAC (por ejemplo, AWS Signature Versión 4).
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: Una expresiónBINARY. Clave secreta. -
message: Una expresiónBINARY. El mensaje para autenticar. -
algorithm: Una expresión opcionalSTRINGque describe el algoritmo hash. El valor predeterminado esSHA-256.
Returns
Un objeto BINARY.
El resultado son los bytes MAC en bruto. Para obtener una representación textual, envuelve el resultado con hex función o base64 función. Porque el resultado es BINARY, puedes alimentarlo de nuevo como el key de otra hmac llamada a derivaciones de claves en cadena.
algorithm debe ser uno de los siguientes (insensible a mayúsculas y mayúsculas, con o sin guion, por ejemplo ambos SHA-256 y SHA256):
'SHA-224'-
'SHA-256': Este es el valor por defecto. 'SHA-384''SHA-512''SHA-1''MD5'
Si cualquier argumento es NULL, el resultado es NULL.
Condiciones de error comunes
Examples
> SELECT hex(hmac('key', 'message'));
6E9EF29B75FFFC5B7ABAE527D58FDADB2FE42E7219011976917343065F58ED4A
> SELECT hex(hmac('key', 'message', 'SHA-512'));
E477384D7CA229DD1426E64B63EBF2D36EBD6D7E669A6735424E72EA6C01D3F8B56EB39C36D8232F5427999B8D1A3F9CD1128FC69F4D75B434216810FA367E98
-- Chaining: the BINARY output of one hmac feeds in as the key of the next.
> SELECT hex(hmac(hmac('key', 'message'), 'message2'));
28042756E0362D954B61661BB4DEC9FF9F6C970D346CAEB6DB36ED7B735AB38C
-- A NULL argument yields NULL.
> SELECT hmac(CAST(NULL AS BINARY), 'message');
NULL
-- An unsupported algorithm raises an error.
> SELECT hmac('key', 'message', 'SHA-3');
Error: INVALID_PARAMETER_VALUE.HMAC_ALGORITHM
-- An empty key raises an error.
> SELECT hmac('', 'message');
Error: INVALID_PARAMETER_VALUE.HMAC_CRYPTO_ERROR