Teilen über


aes_decrypt

Gibt einen entschlüsselten Wert der Verwendung von input AES in mode mit padding. Schlüssellängen von 16, 24 und 32 Bit werden unterstützt. Unterstützte Kombinationen von (, padding) sind (ECBmode, PKCS), (GCM, NONE) und (CBC, PKCS). Optionale zusätzliche authentifizierte Daten (AAD) werden nur für GCM unterstützt. Wenn für die Verschlüsselung angegeben, muss der identische AAD-Wert für die Entschlüsselung bereitgestellt werden. Der Standardmodus ist GCM.

Syntax

from pyspark.sql import functions as sf

sf.aes_decrypt(input, key, mode=None, padding=None, aad=None)

Die Parameter

Parameter Typ Description
input pyspark.sql.Column oder str Der zu entschlüsselnde Binärwert.
key pyspark.sql.Column oder str Die Passphrase, die zum Entschlüsseln der Daten verwendet werden soll.
mode pyspark.sql.Column oder str, optional Gibt an, welcher Blockchiffremodus zum Entschlüsseln von Nachrichten verwendet werden soll. Gültige Modi: ECB, GCM, CBC.
padding pyspark.sql.Column oder str, optional Gibt an, wie Nachrichten gespeichert werden, deren Länge kein Vielfaches der Blockgröße ist. Gültige Werte: PKCS, NONE, DEFAULT. Der STANDARDabstand bedeutet PKCS für ECB, NONE für GCM und PKCS für CBC.
aad pyspark.sql.Column oder str, optional Optionale zusätzliche authentifizierte Daten. Wird nur für den GCM-Modus unterstützt. Dies kann eine beliebige Freiformeingabe sein und muss sowohl für die Verschlüsselung als auch für die Entschlüsselung bereitgestellt werden.

Rückkehr

pyspark.sql.Column: Eine neue Spalte, die einen entschlüsselten Wert enthält.

Examples

Beispiel 1: Entschlüsseln von Daten mit Schlüssel, Modus, Abstand und 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                                                                |
+---------------------------------------------------------------------+

Beispiel 2: Entschlüsseln von Daten mit Schlüssel, Modus und Abstand

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                                                             |
+------------------------------------------------------------------+

Beispiel 3: Entschlüsseln von Daten mit Schlüssel und Modus

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                                                             |
+------------------------------------------------------------------+

Beispiel 4: Entschlüsseln von Daten mit Schlüssel

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                                                         |
+--------------------------------------------------------------+