# Hash256 Función de script y de gráfico

Hash256() devuelve un valor hash de 256 bits de los valores de expresión de entrada combinados. El resultado es una cadena de 43 caracteres. Los valores hash son útiles para enmascarar información personal identificable (PII), como nombres de clientes, números de la seguridad social o números de cuenta.

Sintaxis:

Hash256(expr{, expression})

Tipo de datos que devuelve: cadena de caracteres

Argumentos

| Argumento | Descripción |
| --- | --- |
| expr | La cadena de texto que se ha de evaluar. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `Hash256( 'abc', 'xyz', '123' )` | Devuelve ``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. | Devuelve ``G7*=6GKPJ(Z+)^KM?<$'AI.)?U$#X2RB[:0ZP=+Z`F:`` |

## Ejemplo: fundamentos de Hash256

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

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos que se utilizarán para crear un valor hash de 256 bits:

  * `Region`

  * `Year`

  * `Month`

Script de carga

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

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* ` Region
                                   `

* `Year`

* `Month`

Cree la siguiente dimensión calculada:

* `=Hash256(Region, Year, Month)`, para calcular el valor hash de 256 bits.

Tabla de resultados

| Region | Year | Month | 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 |

Para cada fila, se unen las cadenas hash de `Region`, `Year` y `Month`, y se devuelve una cadena de 43 caracteres.

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

#### Script de carga

El siguiente código muestra cómo utilizar la función en un script de carga.

```
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 ];
```

Tabla de resultados

| Region | Year | Month | 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 |

## Ejemplo: uso de Hash256 con entradas duplicadas

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

#### Expresión de gráfico

Vista general

Este ejemplo crea un valor hash único para cada entrada de producto. El valor hash sirve como identificador único, lo que permite a la empresa detectar y gestionar eficazmente los duplicados.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `TransactionID`

  * `ProductID`

  * `ProductName`

  * `SupplierID`

Script de carga

```
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
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* ` Transaction ID
                                   `

* ` ProductID
                                   `

* `ProductName`

* `SupplierID`

Cree la siguiente dimensión calculada:

* `=Hash256(ProductID, ProductName, SupplierID)` para calcular una clave de 43 caracteres.

Tabla de resultados

| 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] |

Compare el resultado de la función `Hash256`. Observe que el primer y el tercer registro `TransactionID` tienen valores hash duplicados porque la combinación de las cadenas `ProductID`, `ProductName` y `SupplierID` es la misma para estas filas.

## Ejemplo: uso de Hash256 para anonimizar datos

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

#### Expresión de gráfico

Vista general

Una empresa de servicios financieros maneja información confidencial de sus clientes, como números de tarjetas de crédito, números de la Seguridad Social y nombres de clientes. Para proteger la privacidad y garantizar el cumplimiento de normativas como el Reglamento General de Protección de Datos (RGPD) o la ley estadounidense de Portabilidad y Responsabilidad de Seguros Médicos (HIPAA), necesitan anonimizar los datos confidenciales al generar informes para sus análisis. Sin embargo, también necesitan mantener la coherencia, de modo que puedan seguir a un mismo cliente en diferentes conjuntos de datos sin revelar su identidad.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada Example.

* Los siguientes campos de la tabla de datos:

  * CustomerID

  * CustomerName

  * SSN

Script de carga

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

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* CustomerID

* CustomerName

* SSN

Cree las siguientes dimensiones calculadas:

* ​=Hash256(CustomerName)​

* =Hash256(SSN)

Tabla de resultados

| 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<​ |

El resultado de salida genera claves únicas que tienen los siguientes beneficios:

* Protección de datos: los datos confidenciales originales no quedan directamente visibles, pero el valor hash sigue siendo coherente en los distintos registros. Esto permite realizar análisis, como la agregación de la actividad de los clientes, sin exponer la identidad real del cliente.

* Cumplimiento: mediante el hashing de los campos confidenciales, la empresa garantiza el cumplimiento de la normativa sobre privacidad de datos.

* Seguridad: la función hash produce un resultado de salida de tamaño fijo que no es reversible, lo que añade una capa adicional de protección para los datos sensibles.