Heim  >  Artikel  >  Web-Frontend  >  So anonymisieren Sie Eigenschaften in einem Objekt mithilfe der Rekursion

So anonymisieren Sie Eigenschaften in einem Objekt mithilfe der Rekursion

DDD
DDDOriginal
2024-10-02 06:16:30725Durchsuche

How to anonymize properties in an object using recursion

Vor kurzem musste ich die Protokollierung von Eingabe- und Ausgabedaten in meiner API verwalten. Allerdings bin ich auf ein Problem gestoßen: Einige Eigenschaften enthielten vertrauliche Daten, die nicht in den Protokollen angezeigt werden konnten. Bei einem einfachen Objekt ist dies einfach zu handhaben, bei einem verschachtelten Objekt mit mehreren Ebenen werden die Dinge jedoch komplexer. Hier kommt die Rekursion ins Spiel. Mithilfe der Rekursion ist es möglich, dies in linearer Zeit O(n) effizient zu handhaben. Hier ist der Code:

const sensitiveFields = ['password', 'email', 'userCode'];

function handleSensitivesFields(data) {
  if (typeof data !== 'object' || data === null) {
    return data;
  }

  for (const key in data) {
    if (sensitiveFields.includes(key)) {
      const value = data[key];

      if (typeof value === 'string') data[key] = createMask(value.length);
    }

    if (typeof data[key] === 'object') handleSensitivesFields(data[key]);
  }
}

Das obige ist der detaillierte Inhalt vonSo anonymisieren Sie Eigenschaften in einem Objekt mithilfe der Rekursion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn