Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zwraca kod uwierzytelniania wiadomości z kluczami (HMAC) używającego messagekey oraz podanego skrótu algorithm. Wynik jest zwracany jako surowe bajty MAC; owij go :func:hex lub :func:base64 dla wartości tekstowej. Domyślnym algorytmem jest SHA-256.
HMAC weryfikuje zarówno integralność, jak i autentyczność wiadomości za pomocą wspólnego sekretu key: odbiorca, który go posiada key , może ponownie obliczyć kod i potwierdzić, że wiadomość nie została zmieniona i pochodzi od osoby znającej klucz. Do typowych zastosowań należą podpisywanie żądań API, weryfikacja ładunków webhook oraz wyprowadzanie kluczy podpisowych przez łańcuchowanie wywołań HMAC (na przykład AWS Signature Version 4).
Składnia
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parameters
| Parametr | Typ | Description |
|---|---|---|
key |
pyspark.sql.Column lub str |
Tajny klucz jako wartość binarna. |
message |
pyspark.sql.Column lub str |
Wiadomość o uwierzytelnianiu jako wartość binarna. |
algorithm |
pyspark.sql.Column lub str, opcjonalnie |
Algorytm skrótu. Ważne wartości: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Domyślnie to SHA-256. |
Returns
pyspark.sql.Column: Nowa kolumna zawierająca surowe bajty HMAC.
Examples
Przykład 1: Oblicz HMAC z domyślnym algorytmem SHA-256
from pyspark.sql import functions as sf
df = spark.createDataFrame([("key", "message")], ["key", "message"])
df.select(sf.hex(sf.hmac(df.key, df.message))).show(truncate=False)
+----------------------------------------------------------------+
|hex(hmac(key, message, SHA-256)) |
+----------------------------------------------------------------+
|6E9EF29B75FFFC5B7ABAE527D58FDADB2FE42E7219011976917343065F58ED4A|
+----------------------------------------------------------------+
Przykład 2: Oblicz HMAC za pomocą algorytmu jawnego
from pyspark.sql import functions as sf
df = spark.createDataFrame([("key", "message")], ["key", "message"])
df.select(sf.hex(sf.hmac(df.key, df.message, sf.lit("SHA-1")))).show(truncate=False)
+----------------------------------------+
|hex(hmac(key, message, SHA-1)) |
+----------------------------------------+
|2088DF74D5F2146B48146CAF4965377E9D0BE3A4|
+----------------------------------------+