Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Retourne le code d’authentification du message de hachage à clé (HMAC) de l’utilisation messagekey et du hachage algorithmdonné . Le résultat est retourné sous forme d’octets MAC bruts ; enroulez-le avec :func :hex ou :func :base64 pour une valeur textuelle. L’algorithme par défaut est SHA-256.
Un HMAC vérifie à la fois l’intégrité et l’authenticité d’un message à l’aide d’un secret keypartagé : un destinataire qui le détient key peut recalculer le code et confirmer que le message n’a pas été modifié et provient d’une partie connaissant la clé. Les usages courants incluent la signature de requêtes API, la validation des charges utiles de webhook, et la dérivation de clés de signature en chaînant des appels HMAC (par exemple, AWS Signature Version 4).
Syntax
from pyspark.sql import functions as sf
sf.hmac(key, message, algorithm=None)
Paramètres
| Paramètre | Catégorie | Description |
|---|---|---|
key |
pyspark.sql.Column ou str |
La clé secrète, en tant que valeur binaire. |
message |
pyspark.sql.Column ou str |
Le message à authentifier, sous forme de valeur binaire. |
algorithm |
pyspark.sql.Column ou str, facultatif |
Algorithme de hachage. Valeurs valides : SHA-224, SHA-256, SHA-384, SHA-512, SHA-1, MD5. Le défaut est SHA-256. |
Returns
pyspark.sql.Column: Une nouvelle colonne contenant les octets bruts HMAC.
Examples
Exemple 1 : Calculer le HMAC avec l’algorithme par défaut 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|
+----------------------------------------------------------------+
Exemple 2 : Calculer le HMAC avec un algorithme explicite
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|
+----------------------------------------+