Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:
Databricks SQL
Databricks Runtime 19 a výše
Vrací autentizační kód s klíčovým hashem (HMAC) pro message using key a hash algorithm.
HMAC ověřuje jak integritu, tak pravost zprávy pomocí sdíleného tajemství key: příjemce, který ho key vlastní, může kód znovu vypočítat a potvrdit, že zpráva nebyla změněna a pochází od osoby, která zná klíč. Běžné použití zahrnuje podepisování API požadavků, ověřování webhook payloadů a odvozování podpisových klíčů řetězením HMAC volání (například AWS Signature verze 4).
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: VyjádřeníBINARY. Tajný klíč. -
message: VyjádřeníBINARY. Zpráva o autentizaci. -
algorithm: VolitelnýSTRINGvýraz popisující hashovací algoritmus. Výchozí hodnota jeSHA-256.
Returns
Nějaké BINARY.
Výsledkem jsou surové MAC bajty. Pro získání textové reprezentace lze výsledek obalit funkcíhex nebo base64 funkcí. Protože výsledkem BINARYje , můžete jej vrátit zpět jako další keyhmac volání řetězových odvození klíčů.
algorithm musí být jedním z následujících (bez rozlišování na velikost písmen, s pomlčkou nebo bez ní, například jak taky), musí být jedno z následujících (case-insensitivní), například obojí SHA-256 a SHA256):
'SHA-224'-
'SHA-256': Toto je výchozí nastavení. 'SHA-384''SHA-512''SHA-1''MD5'
Pokud je libovolný argument , NULLvýsledkem je NULL.
Běžné chybové podmínky
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