Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Geeft de keyed-hash message authenticatiecode (HMAC) terug van het gebruik key van message en de gegeven hash algorithm. Het resultaat wordt teruggegeven als ruwe MAC-bytes; wikkel het in met :func:hex of :func:base64 voor een tekstuele waarde. Het standaard algoritme is SHA-256.
Een HMAC verifieert zowel de integriteit als de authenticiteit van een bericht met behulp van een gedeeld geheim key: een ontvanger die hetzelfde key bezit kan de code opnieuw berekenen en bevestigen dat het bericht niet is gewijzigd en afkomstig is van een partij die de sleutel kent. Veelvoorkomende toepassingen zijn het ondertekenen van API-verzoeken, het valideren van webhook-payloads en het afleiden van ondertekeningssleutels door HMAC-aanroepen aan elkaar te koppelen (bijvoorbeeld AWS Signature Version 4).
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parameters
| Parameter | Type | Description |
|---|---|---|
key |
pyspark.sql.Column of str |
De geheime sleutel, als binaire waarde. |
message |
pyspark.sql.Column of str |
Het bericht om te authenticeren, als een binaire waarde. |
algorithm |
pyspark.sql.Column of str, optioneel |
Het hash-algoritme. Geldige waarden: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. De standaard is SHA-256. |
Returns
pyspark.sql.Column: Een nieuwe kolom die de ruwe HMAC-bytes bevat.
Examples
Voorbeeld 1: Bereken de HMAC met het standaard SHA-256-algoritme
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|
+----------------------------------------------------------------+
Voorbeeld 2: Bereken de HMAC met een expliciet algoritme
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|
+----------------------------------------+