Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Geçerlidir:
, Databricks SQL
, Databricks Runtime 19 ve üzeri
Anahtarlı hash mesajı kimlik doğrulama kodunu (HMAC) messagekey döndürür ve bir hash algorithm.
Bir HMAC, paylaşılan bir sırrı keykullanarak mesajın hem bütünlüğünü hem de gerçekliğini doğrular: aynı key sırrı taşıyan bir alıcı kodu yeniden hesaplayabilir ve mesajın değiştirilmediğini, anahtarı bilen bir taraftan geldiğini doğrulayabilir. Yaygın kullanımlar arasında API isteklerini imzalamak, webhook yüklerini doğrulamak ve HMAC çağrılarını zincirleyerek imzalama anahtarları türetilmesi (örneğin, AWS Signature Version 4) bulunur.
Syntax
hmac(key, message [, algorithm])
Arguments
-
key: BirBINARYifadesi. Gizli anahtar. -
message: BirBINARYifadesi. Kimlik doğrulama mesajı. -
algorithm: Hash algoritmasını tanımlayan isteğe bağlıSTRINGbir ifade. Varsayılan değer:SHA-256.
Returns
Bir BINARY.
Sonuç olarak ham MAC baytları ortaya çıkar. Metinsel bir temsil elde etmek için sonucu fonksiyon veya base64 fonksiyon ile hex sarın. Sonuç olarakBINARY, zincir anahtar türevlerine başka hmac bir çağrı olarak geri key verebilirsiniz.
algorithm aşağıdakilerden biri olmalıdır (harfi duyarsız, tire ile veya tire olmadan, örneğin her ikisi SHA-256 ve SHA256):
'SHA-224'-
'SHA-256': Bu varsayılan durum. 'SHA-384''SHA-512''SHA-1''MD5'
Herhangi bir argüman iseNULL, sonuç .NULL
Yaygın hata koşulları
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