Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:
» Databricks SQL
» Databricks Runtime 19 и выше
Возвращает код аутентификации сообщения с ключевым хэшем (HMAC) для message использования key и хэша algorithm.
HMAC проверяет как целостность, так и подлинность сообщения с помощью общего секрета key: получатель, владеющий им key , может пересчитать код и подтвердить, что сообщение не было изменено и пришло от стороны, знающей ключ. Распространённые применения включают подпись API-запросов, проверку полезных нагрузок webhook и получение подписных ключей путём цепочки вызовов HMAC (например, AWS Signature Version 4).
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: ВыражениеBINARY. Секретный ключ. -
message: ВыражениеBINARY. Сообщение для аутентификации. -
algorithm: НеобязательноеSTRINGвыражение, описывающее хеш-алгоритм. Значение по умолчанию —SHA-256.
Returns
А BINARY.
В результате получаются необработанные байты MAC. Чтобы получить текстовое представление, оберните результат функцией hex или base64функцией. Потому что результат таков BINARY: вы можете ввести его обратно в key виде очередного hmac вызова к выводу по цепочке ключей.
algorithm должно быть одним из следующих (нечувствительный к регистру, с дефисом или без, например, оба SHA-256 и SHA256):
'SHA-224'-
'SHA-256': Это по умолчанию. 'SHA-384''SHA-512''SHA-1''MD5'
Если любой аргумент равен NULL, результат — NULL.
Распространенные условия ошибки
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