# Hash256 Skript- und Diagrammfunktion

Hash256() gibt einen 256-Bit-Hash-Wert der kombinierten Eingabeausdruckswerte zurück. Das Ergebnis ist ein 43-Zeichen-String. Hash-Werte sind nützlich, um personenbezogene Daten wie Kundennamen, Sozialversicherungsnummern oder Kontonummern zu maskieren.

Syntax:

Hash256(expr{, expression})

Rückgabe Datentyp: String

Argumente

| Argument | Beschreibung |
| --- | --- |
| expr | Der zu evaluierende String. |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `Hash256( 'abc', 'xyz', '123' )` | Liefert ``MA&5]6+3=:>;>G%S<U*S2I:`=X*A.IO*8N\%Y7Q;YEJ`` |
| `Hash256( Region, Year, Month )`<br><br>Note: `Region`, `Year`, and `Month` are table fields. | Liefert ``G7*=6GKPJ(Z+)^KM?<$'AI.)?U$#X2RB[:0ZP=+Z`F:`` |

## Beispiel – Grundlegendes zu „Hash256“

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Hash256.htm)

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder werden verwendet, um einen 256-Bit-Hash-Wert zu erstellen:

  * `Region`

  * `Year`

  * `Month`

Ladeskript

```
Example:
Load *
inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* ` Region
                                   `

* `Year`

* `Month`

Erstellen Sie die folgende berechnete Dimension:

* `=Hash256(Region, Year, Month)`, um den 256-Bit-Hashwert zu berechnen.

Ergebnistabelle

| Region | Jahr | Monat | Hash256(Region, Year, Month) |
| --- | --- | --- | --- |
| abc | xyz | 123 | MA&5]6+3=:&gt;;&gt;G%S&lt;U\*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
| EU | 2022 | 01 | B40^K&[T@!;VB'XR]&lt;5=//\_F853?BE6'G&,YH\*T'MF) |
| UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
| US | 2022 | 02 | C6@#]4#\_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |

Für jede Zeile werden die Hash-Strings für `Region`, `Year` und `Month` zusammengefügt und ein 43-stelliger String zurückgegeben.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Hash256.htm)

#### Ladeskript

Der folgende Code zeigt, wie Sie die Funktion in einem Ladeskript verwenden können.

```
Hash_256:
Load *,
Hash256(Region, Year, Month) as Hash256_Region_Year_Month;
Load * inline [
Region, Year, Month
abc, xyz, 123
EU, 2022, 01
UK, 2022, 02
US, 2022, 02 ];
```

Ergebnistabelle

| Region | Jahr | Monat | Hash256\_Region\_Year\_Month |
| --- | --- | --- | --- |
| abc | xyz | 123 | MA&5]6+3=:&gt;;&gt;G%S&lt;U\*S2I:`=X*A.IO*8N\%Y7Q;YEJ |
| EU | 2022 | 01 | B40^K&[T@!;VB'XR]&lt;5=//\_F853?BE6'G&,YH\*T'MF) |
| UK | 2022 | 02 | O5T;+1?[B&"F&1//MA[MN!T"FWZT=4\#V`M%6_\0C>4 |
| US | 2022 | 02 | C6@#]4#\_G-(]J7EQY#KRW`@KF+W-0]`[Z8R+#'")=+0 |

## Beispiel – Szenario für „Hash256“ mit duplizierten Einträgen

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Hash256.htm)

#### Diagrammformel

Übersicht

In diesem Beispiel wird für jeden Produkteintrag ein eindeutiger Hash-Wert erstellt. Der Hash-Wert dient als eindeutiger Identifikator, der es dem Unternehmen ermöglicht, Duplikate effektiv zu erkennen und zu verwalten.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `TransactionID`

  * `ProductID`

  * `ProductName`

  * `SupplierID`

Ladeskript

```
Example:
Load *
inline [
TransactionID, ProductID, ProductName, SupplierID
1, 101, Widget A, S001, 100
2, 102, Widget B, S002, 200
3, 101, Widget A, S001, 50
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* ` Transaction ID
                                   `

* ` ProductID
                                   `

* `ProductName`

* `SupplierID`

Erstellen Sie die folgende berechnete Dimension:

* ` =Hash256(ProductID, ProductName, SupplierID)`, um einen 43-stelligen Schlüssel zu berechnen.

Ergebnistabelle

| TransactionID | ProductID | ProductName | SupplierID | Hash256(ProductID, ProductName, SupplierID) |
| --- | --- | --- | --- | --- |
| 1 | 101 | ​Widget A ​ ​ | S001 | ​CY`&^(N,E/#`TJT4&]/7N1Q+\*T3K=35VDVQ&gt;&gt;;%+A0] |
| 2 | 102 | Widget B | S002 | O7(1;V1%MG;Z+A[/H)G5&`6RA0(`%6T?YZQ.+&gt;\*&\JF |
| 3 | 101 | Widget A | S001 | ​CY`&^(N,E/#`TJT4&]/7N1Q+\*T3K=35VDVQ&gt;&gt;;%+A0] |

Vergleichen Sie die Ausgabe der Funktion `Hash256`. Beachten Sie, dass der erste und der dritte Datensatz von `TransactionID` duplizierte Hash-Werte aufweisen, da die Kombination der Strings `ProductID`, `ProductName` und `SupplierID` in diesen Zeilen identisch ist.

## Beispiel – Szenario für „Hash256“ zur Anonymisierung von Daten

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/Hash256.htm)

#### Diagrammformel

Übersicht

Ein Unternehmen, das Finanzdienste anbietet, verarbeitet sensible Kundeninformationen wie Kreditkartennummern, Sozialversicherungsnummern und Namen von Kunden. Um die Privatsphäre zu schützen und die Einhaltung von Vorschriften wie der Datenschutz-Grundverordnung (DSGVO) oder des Health Insurance Portability and Accountability Act (HIPAA) zu gewährleisten, müssen sie sensible Daten anonymisieren, wenn sie Berichte für Analysen erstellen. Sie müssen jedoch auch die Konsistenz wahren, damit sie denselben Kunden über verschiedene Datensätze hinweg verfolgen können, ohne die Identität des Kunden preiszugeben.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens Example geladen wird

* Die folgenden Felder in der Datentabelle:

  * CustomerID

  * CustomerName

  * SSN

Ladeskript

```
Example:
Load *
inline [
CustomerID, CustomerName, SSN
101, John Doe, 123-45-6789|
102, Jane Smith, 987-65-4321
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* CustomerID

* CustomerName

* SSN

Erstellen Sie die folgenden dynamischen Dimensionen:

* ​=Hash256(CustomerName)

* =Hash256(SSN)

Ergebnistabelle

| CustomerID | CustomerName | SSN | Hash256(CustomerName) | Hash256(SSN) |
| --- | --- | --- | --- | --- |
| 101 | ​John Doe | ​123-45-6789\| | GMD(\*B9\*!PQ&MTY2@$4A\KCL?[0@T%D@8C#6&UR8/95 | ​N&[PSH:I$M?OF&lt;5/9LV&N\*;`CZ((X'"9Y2FKJC6W04[​ |
| 102 | Jane Smith | ​987-65-4321 | ​EP@9]GSI)5G\I\*,B?H,C?A$%VG:SL#6I&gt;Q1:L&lt;0O7UW | ​HCFXMR'2=\3WF6?\_\6LN;.\*6:K?Y:%MZ#\*PP]WI`YS<​ |

Die Ausgabe generiert eindeutige Schlüssel, die folgende Vorteile bieten:

* Datenschutz: Die ursprünglichen sensiblen Daten sind nicht direkt sichtbar, aber der Hash-Wert bleibt über verschiedene Datensätze hinweg konsistent. Dies ermöglicht Analysen wie z. B. die Aggregation von Kundenaktivitäten, ohne die tatsächliche Identität des Kunden preiszugeben.

* Einhaltung der Vorschriften: Durch das Hashing sensibler Felder gewährleistet das Unternehmen die Einhaltung der Datenschutzbestimmungen.

* Sicherheit: Die Hash-Funktion erzeugt eine Ausgabe mit fester Größe, die nicht umkehrbar ist, wodurch eine zusätzliche Sicherheitsebene zum Schutz sensibler Daten geschaffen wird.