Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse zu wechseln.
Dies ist eine spezielle Version, die aes_decrypt denselben Vorgang ausführt, aber einen NULL-Wert zurückgibt, anstatt einen Fehler zu auslösen, wenn die Entschlüsselung nicht ausgeführt werden kann. 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.try_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 oder einen NULL-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.try_aes_decrypt(
sf.unbase64(df.input), df.key, "mode", df.padding, df.aad
).cast("STRING")).show(truncate=False)
+-------------------------------------------------------------------------+
|CAST(try_aes_decrypt(unbase64(input), key, mode, padding, aad) AS STRING)|
+-------------------------------------------------------------------------+
|Spark |
+-------------------------------------------------------------------------+
Beispiel 2: Fehler beim 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", "CBC", "DEFAULT",
"This is an AAD mixed into the input",)],
["input", "key", "mode", "padding", "aad"]
)
df.select(sf.try_aes_decrypt(
sf.unbase64(df.input), df.key, "mode", df.padding, df.aad
).cast("STRING")).show(truncate=False)
+-------------------------------------------------------------------------+
|CAST(try_aes_decrypt(unbase64(input), key, mode, padding, aad) AS STRING)|
+-------------------------------------------------------------------------+
|NULL |
+-------------------------------------------------------------------------+
Beispiel 3: 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.try_aes_decrypt(
sf.unbase64(df.input), df.key, "mode", df.padding
).cast("STRING")).show(truncate=False)
+----------------------------------------------------------------------+
|CAST(try_aes_decrypt(unbase64(input), key, mode, padding, ) AS STRING)|
+----------------------------------------------------------------------+
|Spark |
+----------------------------------------------------------------------+
Beispiel 4: 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.try_aes_decrypt(
sf.unbase64(df.input), df.key, "mode"
).cast("STRING")).show(truncate=False)
+----------------------------------------------------------------------+
|CAST(try_aes_decrypt(unbase64(input), key, mode, DEFAULT, ) AS STRING)|
+----------------------------------------------------------------------+
|Spark |
+----------------------------------------------------------------------+
Beispiel 5: Entschlüsseln von Daten mit Schlüssel
from pyspark.sql import functions as sf
df = spark.createDataFrame([(
"83F16B2AA704794132802D248E6BFD4E380078182D1544813898AC97E709B28A94",
"0000111122223333",)],
["input", "key"]
)
df.select(sf.try_aes_decrypt(
sf.unhex(df.input), df.key
).cast("STRING")).show(truncate=False)
+------------------------------------------------------------------+
|CAST(try_aes_decrypt(unhex(input), key, GCM, DEFAULT, ) AS STRING)|
+------------------------------------------------------------------+
|Spark |
+------------------------------------------------------------------+