CryptographicHash 類別
CryptographicHash 轉換會將演算法套用至資料欄中的雜湊值。
範例
from pyspark.context import SparkContext from pyspark.sql import SparkSession from awsgluedi.transforms import * secret = "${SECRET}" sc = SparkContext() spark = SparkSession(sc) input_df = spark.createDataFrame( [ (1, "1234560000"), (2, "1234560001"), (3, "1234560002"), (4, "1234560003"), (5, "1234560004"), (6, "1234560005"), (7, "1234560006"), (8, "1234560007"), (9, "1234560008"), (10, "1234560009"), ], ["id", "phone"], ) try: df_output = pii.CryptographicHash.apply( data_frame=input_df, spark_context=sc, source_columns=["id", "phone"], secret_id=secret, algorithm="HMAC_SHA256", output_format="BASE64", ) df_output.show() except: print("Unexpected Error happened ") raise
輸出
輸出將是:
``` +---+------------+-------------------+-------------------+ | id| phone | id_hashed | phone_hashed | +---+------------+-------------------+-------------------+ | 1| 1234560000 | QUI1zXTJiXmfIb... | juDBAmiRnnO3g... | | 2| 1234560001 | ZAUWiZ3dVTzCo... | vC8lgUqBVDMNQ... | | 3| 1234560002 | ZP4VvZWkqYifu... | Kl3QAkgswYpzB... | | 4| 1234560003 | 3u8vO3wQ8EQfj... | CPBzK1P8PZZkV... | | 5| 1234560004 | eWkQJk4zAOIzx... | aLf7+mHcXqbLs... | | 6| 1234560005 | xtI9fZCJZCvsa... | dy2DFgdYWmr0p... | | 7| 1234560006 | iW9hew7jnHuOf... | wwfGMCOEv6oOv... | | 8| 1234560007 | H9V1pqvgkFhfS... | g9WKhagIXy9ht... | | 9| 1234560008 | xDhEuHaxAUbU5... | b3uQLKPY+Q5vU... | | 10| 1234560009 | GRN6nFXkxk349... | VJdsKt8VbxBbt... | +---+------------+-------------------+-------------------+ ```
轉換會使用指定的演算法和機密金鑰運算 `id` 和 `phone` 資料欄中值的密碼編譯雜湊,並以 Base64 格式編碼雜湊。產生的 `df_output` DataFrame 包含來自原始 `input_df` DataFrame 的所有資料欄,以及具有計算雜湊的額外 `id_hashed` 和 `phone_hashed` 資料欄。
方法
__call__(spark_context, data_frame, source_columns, secret_id, algorithm=None, secret_version=None, create_secret_if_missing=False, output_format=None, entity_type_filter=None)
CryptographicHash 轉換會將演算法套用至資料欄中的雜湊值。
-
source_columns– 現有資料欄的陣列。 -
secret_id– Secrets Manager 機密金鑰的 ARN。雜湊訊息驗證碼 (HMAC) 字首演算法中使用的金鑰,用於雜湊來源資料欄。 -
secret_version- 選用。預設為最新機密版本。 -
entity_type_filter– 實體類型的選用陣列。可用於僅加密任意文字資料欄中偵測到的 PII。 -
create_secret_if_missing– 選用布林值。如果為 true,將嘗試代表發起人建立機密。 -
algorithm– 用於雜湊資料的演算法。有效列舉值:MD5、SHA1、SHA256、SHA512、HMAC_MD5、HMAC_SHA1、HMAC_SHA256、HMAC_SHA512。
apply(cls, *args, **kwargs)
繼承自 GlueTransform apply。
name(cls)
繼承自 GlueTransform name。
describeArgs(cls)
繼承自 GlueTransform describeArgs。
describeReturn(cls)
繼承自 GlueTransform describeReturn。
describeTransform(cls)
繼承自 GlueTransform describeTransform。
describeErrors(cls)
繼承自 GlueTransform describeErrors。
describe(cls)
繼承自 GlueTransform describe。