Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gibt den Keyed-Hash-Nachrichten-Authentifizierungscode (HMAC) zurück, der message verwendet key und den gegebenen Hash algorithmverwendet. Das Ergebnis wird als rohe MAC-Bytes zurückgegeben; umwickle es mit :func:hex oder :func:base64 für einen textuellen wert. Der Standardalgorithmus ist SHA-256.
Ein HMAC überprüft sowohl die Integrität als auch die Echtheit einer Nachricht mithilfe eines gemeinsamen Geheimnisses: Ein Empfänger, der dieses key Geheimnis keybesitzt, kann den Code neu berechnen und bestätigen, dass die Nachricht nicht verändert wurde und von einer Partei stammt, die den Schlüssel kennt. Häufige Anwendungen sind das Signieren von API-Anfragen, die Validierung von Webhook-Payloads und das Ableiten von Signierungsschlüsseln durch Verkettung von HMAC-Aufrufen (zum Beispiel AWS Signature Version 4).
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parameter
| Parameter | Typ | Description |
|---|---|---|
key |
pyspark.sql.Column oder str |
Der geheime Schlüssel als binärer Wert. |
message |
pyspark.sql.Column oder str |
Die Nachricht zur Authentifizierung als binärer Wert. |
algorithm |
pyspark.sql.Column oder str, optional |
Der Hashalgorithmus. Gültige Werte: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Standardmäßig ist SHA-256. |
Returns
pyspark.sql.Column: Eine neue Spalte, die die rohen HMAC-Bytes enthält.
Examples
Beispiel 1: Berechnen Sie den HMAC mit dem Standard-SHA-256-Algorithmus
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|
+----------------------------------------------------------------+
Beispiel 2: Berechnen Sie das HMAC mit einem expliziten Algorithmus
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|
+----------------------------------------+