aes_decrypt

ile inputAES mode kullanarak şifresi çözülmüş bir değer padding döndürür. 16, 24 ve 32 bit anahtar uzunlukları desteklenir. Desteklenen (mode, padding) birleşimleri şunlardır: (ECB, PKCS), (GCM, NONE) ve (CBC, PKCS). İsteğe bağlı ek kimliği doğrulanmış veriler (AAD) yalnızca GCM için desteklenir. Şifreleme için sağlanırsa, şifre çözme için aynı AAD değeri sağlanmalıdır. Varsayılan mod GCM'dir.

Sözdizimi

from pyspark.sql import functions as sf

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

Parametreler

Parametre Türü Description
input pyspark.sql.Column veya str Şifresi çözülecek ikili değer.
key pyspark.sql.Column veya str Verilerin şifresini çözmek için kullanılacak parola.
mode pyspark.sql.Column veya str, isteğe bağlı İletilerin şifresini çözmek için hangi blok şifreleme modunun kullanılacağını belirtir. Geçerli modlar: ECB, GCM, CBC.
padding pyspark.sql.Column veya str, isteğe bağlı Uzunluğu blok boyutunun katı olmayan iletilerin nasıl doldurulacaklarını belirtir. Geçerli değerler: PKCS, NONE, DEFAULT. DEFAULT doldurma, ECB için PKCS, GCM için NONE ve CBC için PKCS anlamına gelir.
aad pyspark.sql.Column veya str, isteğe bağlı İsteğe bağlı ek kimliği doğrulanmış veriler. Yalnızca GCM modu için desteklenir. Bu herhangi bir serbest biçimli giriş olabilir ve hem şifreleme hem de şifre çözme için sağlanmalıdır.

İade

pyspark.sql.Column: Şifresi çözülmüş bir değer içeren yeni bir sütun.

Örnekler

Örnek 1: Anahtar, mod, doldurma ve aad ile verilerin şifresini çözme

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

Örnek 2: Anahtar, mod ve doldurma ile verilerin şifresini çözme

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

Örnek 3: Anahtar ve mod ile verilerin şifresini çözme

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

Örnek 4: Verilerin şifresini anahtarla çözme

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