Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
fungsi
Berlaku untuk:
Databricks SQL
Databricks Runtime 19 ke atas
Mengembalikan kode otentikasi pesan keyed-hash (HMAC) dari message penggunaan key dan sebuah hash algorithm.
HMAC memverifikasi baik integritas maupun keaslian pesan menggunakan rahasia keybersama: penerima yang memegang rahasia tersebut key dapat menghitung ulang kode dan memastikan pesan tersebut tidak diubah dan berasal dari pihak yang mengetahui kuncinya. Penggunaan umum termasuk menandatangani permintaan API, memvalidasi payload webhook, dan menurunkan kunci penandatanganan dengan menghubungkan panggilan HMAC (misalnya, AWS Signature Version 4).
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: SebuahBINARYekspresi. Kunci rahasia. -
message: SebuahBINARYekspresi. Pesan yang harus diautentikasi. -
algorithm: Ekspresi opsionalSTRINGyang mendeskripsikan algoritma hash. Defaultnya adalahSHA-256.
Returns
BINARY.
Hasilnya adalah byte MAC mentah. Untuk memperoleh representasi tekstual, bungkus hasilnya dengan hex fungsi atau base64 fungsi. Karena hasilnya adalah BINARY, Anda dapat mengumpatnya kembali sebagai key panggilan lain hmac untuk derivasi kunci rantai.
algorithm harus salah satu dari berikut ini (tidak sensitif huruf besar/kecil, dengan atau tanpa tanda hubung, misalnya keduanya SHA-256 dan SHA256):
'SHA-224'-
'SHA-256': Ini adalah default. 'SHA-384''SHA-512''SHA-1''MD5'
Jika ada argumen yang , NULLhasilnya adalah NULL.
Kondisi kesalahan umum
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