Ich bin auf der Suche nach einem selbstgewählten Weg, um Produktionsdaten für den Einsatz in Entwicklung und Test zu verschlüsseln. Ich habe ein paar Skripte gebaut, die zufällige Sozialversicherungsnummern machen, Geburtsdaten verschieben, E-Mails verschlüsseln, usw. Aber ich bin gegen eine Wand gestoßen, um Kundennamen zu verschlüsseln. Ich möchte echte Namen behalten, damit wir immer noch verwenden oder suchen können, damit die zufällige Buchstabengenerierung aus ist. Was ich bisher versucht habe, ist, eine temporäre Tabelle aller letzten Namen in der Tabelle zu erstellen und dann die Kundentabelle mit einer zufälligen Auswahl aus der temporären Tabelle zu aktualisieren. Wie folgt aus:Obfuscate/Mask/Scramble persönliche Informationen
DECLARE @Names TABLE (Id int IDENTITY(1,1),[Name] varchar(100))
/* Scramble the last names (randomly pick another last name) */
INSERT @Names SELECT LastName FROM Customer ORDER BY NEWID();
WITH [Customer ORDERED BY ROWID] AS
(SELECT ROW_NUMBER() OVER (ORDER BY NEWID()) AS ROWID, LastName FROM Customer)
UPDATE [Customer ORDERED BY ROWID] SET LastName=(SELECT [Name] FROM @Names WHERE ROWID=Id)
Dies funktionierte gut in Test, aber völlig versinkt mit größeren Datenmengen zu tun (> 20 Minuten 40K Zeilen)
All das fragen, wie würden Sie Kundennamen Gerangel während man echte Namen und das Gewicht der Produktionsdaten behält?
UPDATE: Nie versagt, versuchen Sie, alle Informationen in den Beitrag zu setzen, und Sie etwas wichtiges vergessen. Diese Daten werden auch in unseren frei verfügbaren Demoumgebungen & verwendet. Einige der Antworten sind, was ich versuche zu tun, um die Namen zu "wechseln", aber meine Frage ist buchstäblich, wie in T-SQL zu programmieren?
Wie ich schon sagte, ich brauche echte Namen mit ähnlichen/gleichen Gewicht wie Produktion, so sucht die Suche ähnlich. –
Zusätzliches ROT13 verschlüsselt nicht wirklich die Daten, da es ein leicht umkehrbarer Algorithmus ist ... – Guvante
ja, es ist leicht reversibel - aber es erfüllt die Kriterien von "Maske" oder "verschleiern" - Sie müssen es zumindest erkennen gewesen ROT13, und un-ROT es :) – warren