aes_decrypt
Renvoie une valeur déchiffrée de input à l'aide d'AES dans mode avec padding. Des longueurs de clé de 16, 24 et 32 bits sont prises en charge. Les combinaisons prises en charge de (mode, padding) sont (ECB, PKCS), (GCM, NONE) et (CBC, PKCS). Les données authentifiées supplémentaires facultatives (AAD) sont uniquement prises en charge pour GCM. S’il est fourni pour le chiffrement, la valeur AAD identique doit être fournie pour le déchiffrement. Le mode default est GCM.
Syntaxe
from pyspark.sql import functions as sf
sf.aes_decrypt(input, key, mode=None, padding=None, aad=None)
parameter
parameter | Type | Description |
|---|---|---|
|
| La valeur binaire à déchiffrer. |
|
| La phrase secrète à utiliser pour déchiffrer les données. |
|
| Spécifie le mode de chiffrement par blocs qui doit être utilisé pour déchiffrer les messages. Modes valides : ECB, GCM, CBC. |
|
| Spécifie comment remplir les messages dont la longueur n'est pas un multiple de la taille de bloc. Valeurs valides : PKCS, NONE, DEFAULT. Le remplissage DEFAULT signifie PKCS pour ECB, NONE pour GCM et PKCS pour CBC. |
|
| Données authentifiées supplémentaires facultatives. Pris en charge uniquement pour le mode GCM. Il peut s'agir de toute entrée de forme libre et doit être fournie pour le chiffrement et le déchiffrement. |
Renvoie
pyspark.sql.Column: Une nouvelle colonne qui contient une valeur déchiffrée.
Exemples
Exemple 1 : Déchiffrer les données avec clé, mode, remplissage et aad
from pyspark.sql import functions as sf
df = spark.createDataFrame([(
"AAAAAAAAAAAAAAAAQiYi+sTLm7KD9UcZ2nlRdYDe/PX4",
"abcdefghijklmnop12345678ABCDEFGH", "GCM", "DEFAULT",
"This is an AAD mixed into the input",)],
["input", "key", "mode", "padding", "aad"]
)
df.select(sf.aes_decrypt(
sf.unbase64(df.input), df.key, "mode", df.padding, df.aad
).cast("STRING")).show(truncate=False)
+---------------------------------------------------------------------+
|CAST(aes_decrypt(unbase64(input), key, mode, padding, aad) AS STRING)|
+---------------------------------------------------------------------+
|Spark |
+---------------------------------------------------------------------+
Exemple 2 : Déchiffrer les données avec clé, mode et remplissage
from pyspark.sql import functions as sf
df = spark.createDataFrame([(
"AAAAAAAAAAAAAAAAAAAAAPSd4mWyMZ5mhvjiAPQJnfg=",
"abcdefghijklmnop12345678ABCDEFGH", "CBC", "DEFAULT",)],
["input", "key", "mode", "padding"]
)
df.select(sf.aes_decrypt(
sf.unbase64(df.input), df.key, "mode", df.padding
).cast("STRING")).show(truncate=False)
+------------------------------------------------------------------+
|CAST(aes_decrypt(unbase64(input), key, mode, padding, ) AS STRING)|
+------------------------------------------------------------------+
|Spark |
+------------------------------------------------------------------+
**Exemple 3** : décrypter les données avec la clé et le mode
from pyspark.sql import functions as sf
df = spark.createDataFrame([(
"AAAAAAAAAAAAAAAAAAAAAPSd4mWyMZ5mhvjiAPQJnfg=",
"abcdefghijklmnop12345678ABCDEFGH", "CBC", "DEFAULT",)],
["input", "key", "mode", "padding"]
)
df.select(sf.aes_decrypt(
sf.unbase64(df.input), df.key, "mode"
).cast("STRING")).show(truncate=False)
+------------------------------------------------------------------+
|CAST(aes_decrypt(unbase64(input), key, mode, DEFAULT, ) AS STRING)|
+------------------------------------------------------------------+
|Spark |
+------------------------------------------------------------------+
Exemple 4 : Décrypter les données avec une clé
from pyspark.sql import functions as sf
df = spark.createDataFrame([(
"83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94",
"0000111122223333",)],
["input", "key"]
)
df.select(sf.aes_decrypt(
sf.unhex(df.input), df.key
).cast("STRING")).show(truncate=False)
+--------------------------------------------------------------+
|CAST(aes_decrypt(unhex(input), key, GCM, DEFAULT, ) AS STRING)|
+--------------------------------------------------------------+
|Spark |
+--------------------------------------------------------------+