取消
顯示的結果
而不是尋找
你的意思是:

請導遊在掩蔽算法列在磚的兼容(可以揭露)。狀態"置疑"

Istuti
貢獻者
1回複1

匿名
不適用

@Istuti古普塔:

有幾種算法可以用來掩蓋列磚的方式與SQL Server兼容。一個常用的算法稱為pseudonymization或標記。

這裏有一個例子如何實現pseudonymization /斷磚:

進口hashlib進口隨機#定義函數pseudonymize / def pseudonymize標記一個值(價值、鹽):#生成隨機種子種子= int.from_bytes洗牌的人物(hashlib.sha256 (salt.encode ()) .digest () [4], byteorder =‘大’)#的值轉換為一個字符串如果它已經不是一個字符串如果不是isinstance(價值,str): value = str(值)#將值轉換為小寫和刪除任何領先/落後於空白值= value.lower () .strip() #洗牌的字符值使用隨機種子random.seed(種子)識字課=列表(值)random.shuffle(字符)shuffled_value = " . join(字符)#哈希重組後的值使用SHA256 hashed_value = hashlib.sha256 (shuffled_value.encode ()) .hexdigest() #返回哈希值作為筆名/令牌返回hashed_value #定義鹽用於標記pseudonymization /鹽= " my_secret_salt“# Define dataframe和列麵具df = spark.table (my_table) column_to_mask = " my_column“#創建一個新的列假名/令牌df = df。withColumn (column_to_mask +“_pseudonym udf (pseudonymize, StringType ()) ((column_to_mask)上校,點燃(鹽)))#將蒙麵數據保存到一個新表或覆蓋原始表df.write.mode .saveAsTable(“覆蓋”)(“my_table_masked”)

在這個例子中,我們使用SHA256散列算法pseudonymize /標記中的值指定的列。我們也添加一個隨機種子洗牌之前散列值中的人物。鹽值用於確保相同的輸入值總是映射到相同的假名/令牌。

注意,由此產生的假名/令牌是不可逆的,這意味著它不能被用來恢複原始值。向全世界揭示數據,你需要保持一個單獨的映射的原始值對應的假名/令牌。

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map