CryptographicHash-Klasse
Die Transformation CryptographicHash wendet einen Algorithmus auf Hashwerte in der Spalte an.
Beispiel
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
Output
Die Ausgabe ist:
``` +---+------------+-------------------+-------------------+ | 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... | +---+------------+-------------------+-------------------+ ```
Die Transformation berechnet die kryptografischen Hashwerte in den Spalten „id“ und „phone“ unter Verwendung des angegebenen Algorithmus und geheimen Schlüssels und codiert die Hashwerte im Base64-Format. Der resultierende „df_output“-Datenrahmen enthält alle Spalten des ursprünglichen „input_df“-Datenrahmens sowie die zusätzlichen Spalten „id_hashed“ und „phone_hashed“ mit den berechneten Hashwerten.
Methoden
__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)
Die Transformation CryptographicHash wendet einen Algorithmus auf Hashwerte in der Spalte an.
-
source_columns– Ein Array vorhandener Spalten. -
secret_id– Der ARN des geheimen Secrets-Manager-Schlüssels. Der Schlüssel, der im Hash-basierten Nachrichtenauthentifizierungscode (HMAC) zum Hashing der Quellspalten verwendet wird. -
secret_version– Optional. Standardmäßig wird die neueste Geheimnisversion verwendet. -
entity_type_filter– Optionales Array von Entitätstypen. Kann verwendet werden, um nur erkannte personenbezogene Daten (Personally Identifyable Information, PII) in einer Freitextspalte zu verschlüsseln. -
create_secret_if_missing– Optionaler boolescher Wert. Falls „true“ wird versucht, das Geheimnis im Namen des Aufrufers zu erstellen. -
algorithm– Der Algorithmus, der zum Hashing Ihrer Daten verwendet wird. Gültige Aufzählungswerte: MD5, SHA1, SHA256, SHA512, HMAC_MD5, HMAC_SHA1, HMAC_SHA256, HMAC_SHA512.
apply(cls, *args, **kwargs)
Geerbt von GlueTransform apply.
name(cls)
Geerbt von GlueTransform Name.
describeArgs(cls)
Geerbt von GlueTransform describeArgs.
describeReturn(cls)
Geerbt von GlueTransform describeReturn.
describeTransform(cls)
Geerbt von GlueTransform describeTransform.
describeErrors(cls)
Geerbt von GlueTransform describeErrors.
describe(cls)
Geerbt von GlueTransform Beschreiben.