![]() |
Realdaten konsistent verwürfeln?
Ich glaube es ja nicht, aber kennt jemand evtl. ein Tool für folgende Aufgabenstellung?
Ich habe diverse größere CSV´s in der Form "KdNr";"Vorname";"Nachname";"KontoNr" "01";"Klaus";"Müller";"2222" "09";"Gerhard";"Müller";"3333" "02";"Klaus";"Meier";"1111" "03";"Bernd";"Lehmann";"4444" "KontoNr";"Guthaben" "1111","999" "2222","9999" "3333","99" "4444","99999" Jetzt möchte ich die Daten anonymisieren. Ich könnte z.B. alle oder einige Spalten beider Dateien im Excel jeweils isoliert aufsteigend sortieren. Dann gäbe es keine Bezüge mehr zu den realen Datensätzen. Lediglich die KontoNr als Bezug der Tabellen untereinander wäre noch vorhanden. Optimaler Weise würde ich aber gern einen zeitlichen Stapel solcher Dateien "transferieren". Ich habe diese Dateien nämlich monatlich vorliegen und würde daraus gern konsistente monatliche Testdaten generieren. Das heisst, die csv´s müssten automatisiert zerlegt, mit Hilfe eines Dictionarys in Demodaten umgeschrieben und wieder in gleicher Form ausgegeben werden. Dazu müsste pro Datei ein Schlüsselfeld angegeben werden und es müsste für jeden Monat konsistent aus original "KdNr";"Vorname";"Nachname";"KontoNr" "01";"Klaus";"Müller";"2222" nun "01";"Gerhard";"Lehmann";"4444" Erst wenn Klaus Müller wegen Heirat Klaus Maier heisst, sollte auch der Demo-Nachname geändert werden. Kennt jemand Lösungen für so etwas? Ich denke ja eher nicht, da das Ganze ja doch recht komplex werden kann. Andererseits kann es Bedarf für solche "konsistenten" Anonymisierungen ja schon gelegentlich geben. |
AW: Realdaten konsistent verwürfeln?
Habe gerade ein ähnliches Problem, aber auf Datenbank ebene, nicht in einer Datei.
Ich plane, z.B. einmalig eine Vornamens-Nachschlage-tabelle zu machen ala:
SQL-Code:
Das wäre dann sowas wie bei dir das Dictionary.
Create Table VornamenNachschlageTabelle
Select Distinct Rownum as ID, Vorname From Tabelle Where Rownum<=500 Dann, um das reproduzierbar zu halten, wird anhand der Personalnummer aus dieser Tabelle ein Name gezogen, ungefähr so:
SQL-Code:
Analog dann bei Nachname, Strasse usw.
Update Personaltabelle P
Set P.Vorname= (Select V.Vorname von VornamenNachschlageTabelle V Where V.ID=MOD(Personalnummer,500)) Keine Ahnung ob es da nicht schlauere Lösungen gibt um Testdaten zu generieren. Den Namenswechsel bei Hochzeit, bekommt man so in den Testdaaten nicht mit, aber das ist auch nicht nötig für uns. |
AW: Realdaten konsistent verwürfeln?
Wir nutzen simpel einen MD5 Hash zur Anonymisierung...
Also würde ich einen MD5 aus ("KdNr";"Vorname";"Nachname") berechnen und dann habe ich im Test/Demo-CSV nur noch "HASH";"KontoNr" :) |
AW: Realdaten konsistent verwürfeln?
Die Demodaten will ich ggf. weiter geben können.
Es sollen also umfangreiche echte Daten sein, aber ohne realen Personen-Bezug (originale Form der Dateien und innere - auch zeitliche - Konsistenz). |
AW: Realdaten konsistent verwürfeln?
Zitat:
|
AW: Realdaten konsistent verwürfeln?
aus den 16Bytes MD5 kann man auch 2x 8Bytes machen und eine sagen wir CRC16 darüber rechen umd dann diese nochmal per Modulo auf die Anzahl der verfügbaren Records zu begrenzen... dann bekommt man 2x einen "Index", welchen Vornamen und welchen Nachnamen man jeweils kombinieren soll.
Das sollte ausreichend flexibel sein, um genug anonyme Verwürfelung der Klarnamen zu bekommen... vorwärts eindeutig zu bestimmen, aber rückwärts nicht rückrechenbar |
AW: Realdaten konsistent verwürfeln?
Zitat:
Original [0] Petra;Putzig;Gartenstraße 7;53111; Bonn [1] Rudi;Rastlos;Hofgarten 42;52223 Stolberg; Daraus 5 Listen machen Dann 5x Random; Randomwerte 1-5 müssen unterschiedlich sein. Randomwert verbraucht, aus der Liste werfen.. So hast Du n Adressen aber keine ist real... |
AW: Realdaten konsistent verwürfeln?
Zitat:
|
AW: Realdaten konsistent verwürfeln?
Da gabs doch auch mal was aus der
![]() |
AW: Realdaten konsistent verwürfeln?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz