# Capacités de masquage de données

Les fonctions de masquage dans le composant tDataMasking sont cohérentes, bijectives et/ou sont des fonctions aléatoires, et elles peuvent vérifier que les données d'entrée sont dans un format valide.

## Masquage aléatoire de données

Le masquage aléatoire est le masquage d'une valeur d'entrée à l'aide d'une valeur générée aléatoirement.

Si plusieurs occurrences d'une même valeur sont présentes dans un jeu de données d'entrée, elles peuvent être masquées par différentes valeurs.

Différentes valeurs du jeu de données d'entrée peuvent être masquées par la même valeur.

Par exemple, l'illustration suivante montre comment le composant tDataMasking peut masquer des données de façon aléatoire :

* La valeur A est masquée par D lorsqu'elle apparaît pour la première fois dans le jeu de données d'entrée.
* Les valeurs B et C sont masquées par E.
* La valeur A est masquée par F lorsqu'elle apparaît pour la deuxième fois dans le jeu de données d'entrée.

Par exemple, l'illustration suivante montre comment le composant tDataMaskingtDataMasking peut masquer des données de façon aléatoire :

* La valeur A est masquée par D lorsqu'elle apparaît pour la première fois dans le jeu de données d'entrée.
* Les valeurs B et C sont masquées par E.
* La valeur A est masquée par F lorsqu'elle apparaît pour la deuxième fois dans le jeu de données d'entrée.

La valeur A est masquée par D lorsqu'elle apparaît pour la première fois dans le jeu de données d'entrée.

La valeur AA est masquée par DD lorsqu'elle apparaît pour la première fois dans le jeu de données d'entrée.

Les valeurs B et C sont masquées par E.

Les valeurs BB et CC sont masquées par EE.

La valeur A est masquée par F lorsqu'elle apparaît pour la deuxième fois dans le jeu de données d'entrée.

La valeur AA est masquée par FF lorsqu'elle apparaît pour la deuxième fois dans le jeu de données d'entrée. ![Exemple d'opération de masquage aléatoire](https://help.qlik.com/talend/fr-FR/components/8.0/Resources/images/Example_of_random_masking_operation.png)

### Exemples de masquage aléatoire de données

La table suivante présente des exemples de valeurs masquées générées à l'aide de la fonction Replace the first n characters :

| Valeurs d'entrée | Paramètres supplémentaires : | Exemples de valeurs masquées |
| --- | --- | --- |
| newuser@domain.com | "4" | ohsbser@domain.com |
| admin@company.com | "4" | lneen@company.com |
| newuser@domain.com | "4" | qzmaser@domain.com |

La table suivante présente des exemples de valeurs masquées générées à l'aide de la fonction Generate from pattern :

| Valeurs d'entrée | Paramètres supplémentaires : | Exemples de valeurs masquées |
| --- | --- | --- |
| newuser@domain.com | "aaaaaa" | rxvsas |
| admin@company.com | "aaaaaa" | bbwpba |
| newuser@domain.com | "a9aaa9" | r8daw1 |

La table suivante présente des exemples de valeurs masquées générées pour la fonction Generate French SSN number :

| Valeurs d'entrée | Exemples de valeurs masquées |
| --- | --- |
| 190049418437621 | 2590459222147 22 |
| 271083561478941 | 1900846274448 17 |
| 190049418437621 | 2730364078284 70 |
| 117029 | 1750694861914 69 |

## Masquer des données de façon cohérente

Lorsque la même valeur apparaît deux fois dans des données d'entrée, les fonctions de masquage cohérent écrivent en sortie la même valeur masquée dans l'exécution d'un même Job.

Toutefois, deux valeurs d'entrée différentes peuvent être masquées par la même valeur masquée dans la sortie.

Par exemple, la diagramme suivant montre la façon dont le composant tDataMasking masque des données de façon cohérente :

* La valeur A est masquée par D, quel que soit le nombre d'occurrences dans l'ensemble du jeu de données d'entrée.
* Les valeurs B et C sont masquées par E.

Par exemple, la diagramme suivant montre la façon dont le composant tDataMaskingtDataMasking masque des données de façon cohérente :

* La valeur A est masquée par D, quel que soit le nombre d'occurrences dans l'ensemble du jeu de données d'entrée.
* Les valeurs B et C sont masquées par E.

La valeur A est masquée par D, quel que soit le nombre d'occurrences dans l'ensemble du jeu de données d'entrée.

La valeur AA est masquée par DD, quel que soit le nombre d'occurrences dans l'ensemble du jeu de données d'entrée.

Les valeurs B et C sont masquées par E.

Les valeurs BB et CC sont masquées par EE. ![Exemple d'opération de masquage cohérent](https://help.qlik.com/talend/fr-FR/components/8.0/Resources/images/Example_of_a_consistent_masking_operation.png)

### Exemples de masquage de données cohérent

La table suivante montre des exemples de valeurs masquées générées en utilisant la partie gauche de domaine d'un e-mail Mask avec la fonction d'éléments cohérents :

| Valeurs d'entrée | Paramètres supplémentaires : | Exemples de valeurs masquées |
| --- | --- | --- |
| newuser@domain.com | "talend,value,newcompany" | newuser@newcompany.com |
| admin@company.com | "talend,value,newcompany" | admin@value.com |
| newuser@domain.com | "talend,value,newcompany" | newuser@newcompany.com |
| user@company.com | "talend,value,newcompany" | user@value.com |
| user@domain.com | "talend,value,newcompany" | user@newcompany.com |

## Masquer des données de façon bijective

Les fonctions de masquage bijectif ont les caractéristiques suivantes :

* Ce sont des fonctions de masquage cohérent.
* Elles sont injectives, c'est-à-dire qu'elles écrivent en sortie deux valeurs masquées différentes pour deux valeurs d'entrée distinctes.
* Elles vérifient que les données d'entrée ont un format valide. Si la valeur d'entrée est valide, les fonctions de masquage bijectif écrit en sortie une valeur valide. Si la valeur d'entrée n'est pas valide, elles écrivent en sortie une valeur non valide ou remplacent les valeurs par null, selon la fonction de masquage utilisée.

Par exemple, le diagramme suivant montre comment le composant tDataMasking peut masquer des données de façon bijective :

* La valeur A est masquée par D, quel que soit le nombre d'occurrences dans le jeu de données d'entrée.
* La valeur B est masquée en E.
* La valeur C est masquée en F.

Par exemple, le diagramme suivant montre comment le composant tDataMaskingtDataMasking peut masquer des données de façon bijective :

* La valeur A est masquée par D, quel que soit le nombre d'occurrences dans le jeu de données d'entrée.
* La valeur B est masquée en E.
* La valeur C est masquée en F.

La valeur A est masquée par D, quel que soit le nombre d'occurrences dans le jeu de données d'entrée.

La valeur AA est masquée par DD, quel que soit le nombre d'occurrences dans le jeu de données d'entrée.

La valeur B est masquée en E.

La valeur BB est masquée en EE.

La valeur C est masquée en F.

La valeur CC est masquée en FF. ![Exemple d'opération de masquage de données bijectif](https://help.qlik.com/talend/fr-FR/components/8.0/Resources/images/Example_of_a_bijective_data_masking_operation.png)

### Exemples de masquage de données bijectif

La table suivante présente des exemples de valeurs masquées générées à l'aide de la fonction Mask French SSN number :

| Valeurs d'entrée | Exemples de valeurs masquées |
| --- | --- |
| 190049418437621 | 289052428331901 |
| 271083561478941 | 234112758889352 |
| 190049418437621 | 289052428331901 |
| 117029 | Null |

## Masquer des données de façon répétée

Pour produire des valeurs masquées répétables entre des exécutions de Jobs, définissez une graine ou un mot de passe dans l'onglet Advanced settings du composant.

Pour une combinaison donnée de valeurs d'entrée et de graine, la même valeur de sortie masquée est produite.

Lorsque vous utilisez des méthodes Format-Preserving Encryption, la même valeur masquée est produite pour une combinaison d'une valeur d'entrée et d'un mot de passe.