Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Vrátí dešifrovanou hodnotu input použití AES s modepadding. Podporují se délky klíčů 16, 24 a 32 bitů. Podporované kombinace (mode, padding) jsou (ECB, PKCS), (GCM, NONE) a (CBC, PKCS). Volitelná další ověřená data (AAD) se podporují jenom pro GCM. Pokud je k dispozici šifrování, musí být pro dešifrování zadaná stejná hodnota AAD. Výchozí režim je GCM.
Syntaxe
from pyspark.sql import functions as sf
sf.aes_decrypt(input, key, mode=None, padding=None, aad=None)
Parametry
| Parameter | Typ | Description |
|---|---|---|
input |
pyspark.sql.Column nebo str |
Binární hodnota k dešifrování. |
key |
pyspark.sql.Column nebo str |
Heslo, které se má použít k dešifrování dat. |
mode |
pyspark.sql.Column nebo str, volitelné |
Určuje, který režim blokové šifry se má použít k dešifrování zpráv. Platné režimy: ECB, GCM, CBC. |
padding |
pyspark.sql.Column nebo str, volitelné |
Určuje, jak pad zprávy, jejichž délka není násobkem velikosti bloku. Platné hodnoty: PKCS, NONE, DEFAULT. Výchozí odsazení znamená PKCS pro ECB, NONE pro GCM a PKCS pro CBC. |
aad |
pyspark.sql.Column nebo str, volitelné |
Volitelná další ověřená data. Podporuje se pouze v režimu GCM. Může to být jakýkoli vstup ve volném tvaru a musí být k dispozici pro šifrování i dešifrování. |
Návraty
pyspark.sql.Column: Nový sloupec, který obsahuje dešifrovanou hodnotu.
Examples
Příklad 1: Dešifrování dat pomocí klíče, režimu, odsazení a 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 |
+---------------------------------------------------------------------+
Příklad 2: Dešifrování dat pomocí klíče, režimu a odsazení
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 |
+------------------------------------------------------------------+
Příklad 3: Dešifrování dat pomocí klíče a režimu
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 |
+------------------------------------------------------------------+
Příklad 4: Dešifrování dat pomocí klíče
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 |
+--------------------------------------------------------------+