Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Returnerar den nyckel-hashade meddelandeautentiseringskoden (HMAC) för message att använda key och den givna hashen algorithm. Resultatet returneras som råa MAC-byte; slå in det med :func:hex eller :func:base64 för ett textvärde. Standardalgoritmen är SHA-256.
En HMAC verifierar både integriteten och äktheten hos ett meddelande med hjälp av en delad hemlighet key: en mottagare som har samma key kan beräkna om koden och bekräfta att meddelandet inte ändrats och kom från en part som känner till nyckeln. Vanliga användningsområden inkluderar signering av API-förfrågningar, validering av webhook-payloads och härledning av signeringsnycklar genom att kedja samman HMAC-anrop (till exempel 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 eller str |
Den hemliga nyckeln, som ett binärt värde. |
message |
pyspark.sql.Column eller str |
Meddelandet att autentisera, som ett binärt värde. |
algorithm |
pyspark.sql.Column eller str, valfritt |
Hash-algoritmen. Giltiga värden: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Standardvärdet är SHA-256. |
Returns
pyspark.sql.Column: En ny kolumn som innehåller råa HMAC-byte.
Examples
Exempel 1: Beräkna HMAC med standardalgoritmen 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|
+----------------------------------------------------------------+
Exempel 2: Beräkna HMAC med en explicit algoritm
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|
+----------------------------------------+