Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
funktion
Gäller för:
Databricks
Databricks Runtime 19 och uppåt
Returnerar den nyckelade hashmeddelandeautentiseringskoden (HMAC) för message att använda key och en hash algorithm.
En HMAC verifierar både integriteten och äktheten hos ett meddelande med hjälp av en delad hemlighet key: en mottagare som har samma key kan beräkna om koden och bekräfta att meddelandet inte ändrats och kom från en part som känner till nyckeln. Vanliga användningsområden inkluderar signering av API-förfrågningar, validering av webhook-payloads och härledning av signeringsnycklar genom att kedja samman HMAC-anrop (till exempel AWS Signature Version 4).
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: EttBINARYuttryck. Den hemliga nyckeln. -
message: EttBINARYuttryck. Meddelandet att autentisera. -
algorithm: Ett valfrittSTRINGuttryck som beskriver hashalgoritmen. Standardvärdet ärSHA-256.
Returns
En BINARY.
Resultatet är de råa MAC-bytena. För att erhålla en textuell representation, linda in resultatet med hex funktion eller base64 funktion. Eftersom resultatet är BINARY, kan du mata in det som ett key annat hmac anrop för att kedja nyckelderivationer.
algorithm måste vara en av följande (kasuskänslig, med eller utan bindestreck, till exempel både SHA-256 och SHA256):
'SHA-224'-
'SHA-256': Detta är standard. 'SHA-384''SHA-512''SHA-1''MD5'
Om något argument är NULL, blir resultatet NULL.
Vanliga felvillkor
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