Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Restituisce il codice di autenticazione del messaggio keyed-hash (HMAC) di message utilizzo key e dell'hash algorithmdato . Il risultato viene restituito come byte MAC grezzi; avvolgilo con :func:hex o :func:base64 per un valore testuale. L'algoritmo predefinito è SHA-256.
Un HMAC verifica sia l'integrità che l'autenticità di un messaggio utilizzando un segreto keycondiviso: un destinatario che lo key possiede può ricalcolare il codice e confermare che il messaggio non è stato alterato e proviene da una parte che conosce la chiave. Gli usi comuni includono la firma di richieste API, la validazione dei payload webhook e il derivamento delle chiavi di firma tramite la concatenazione di chiamate HMAC (ad esempio, AWS Signature Versione 4).
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Parametri
| Parametro | Type | Description |
|---|---|---|
key |
pyspark.sql.Column o str |
La chiave segreta, come valore binario. |
message |
pyspark.sql.Column o str |
Il messaggio da autenticare, come valore binario. |
algorithm |
pyspark.sql.Column o str, facoltativo |
Algoritmo hash. Valori validi: SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Il predefinito è SHA-256. |
Returns
pyspark.sql.Column: Una nuova colonna che contiene i byte grezzi HMAC.
Examples
Esempio 1: Calcolare l'HMAC con l'algoritmo predefinito 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|
+----------------------------------------------------------------+
Esempio 2: Calcolare l'HMAC con un algoritmo esplicito
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|
+----------------------------------------+