Data Masking: Introduction to Key Masking

This type of data masking is used when a deterministic and repeatable output for a key value is needed. This means same input across multiple table columns will return the same output.

It is helpful in maintaining the foreign key integrity across tables even when masking the key value. The controlling input is the seed value which ensures that for an input value + seed value combination same output value is generated every time.

String, numeric and datatypes values can be masked with this technique.

1. Select the port in the masking properties tabs which you want to mask and select the key masking type from the masking column.

2. After you select the masking type you will get the options to configure the masking rules for this type of masking in the same dialogue box

3. Select the Seed Value radio button and enter any value between 1 and 1000. Use the same seed value across different columns where you want the input value to return same masked output. The seed value can also be parameterized and supplied to the mapping with the help of a mapping parameter.

You can also specify a default value for the seed value in the XML file at the following location

<PowerCenter Installation Directory>\infa_shared\SrcFiles\defaultValue.xml

If the default value is not between 1 and 1000 the Integration Service assigns a value of 725.

4. Specify the Mask Format for ex – **DDD+AAAAAA**

Mask format limits each character in the output column to an alphabet, numeric or alphanumeric.
The example mask format is for a string column of length 10. It means replace first three characters with digits between 0 and 9, keep the third character as it is and replace last 6 characters with alphabetical characters from a to z.

Mask format characters and their description
A – Alphabetic characters from a to z or A to Z
D – Digits 0 to 9
N – Alphanumeric characters, a to z, A to Z and 0 to 9
X – Any character, alphanumeric or symbols
+ – No Masking
R – Remaining characters can be any character, must be the last character in the mask format

5. You can optionally specify which strings in the source value to mask and which ones to ignore. If this is blank the transformation will mask all the characters occurring in the input value.

6. Also you can specify the character set to use to replace the input values with. Usually we use **ABCDEFGHIJKLMNOPQRSTUVWXYZ** as the value for the result String Characters field.


Feel free to comment below if you need any help in configuring the Key Data masking transformation.

Join the Conversation


  1. hi raghav,
    thanks for explaining data masking in informatica. i have been seraching for some material regarding the same and thsi is really great! looking forward to your explanations of the other types of data masking and their examples also.

  2. Thanks Raghav for explaining key masking in Informatica.
    Though could you please explain me about the seed value and mapping parameter.
    I am quite confused about the meaning & purpose of Seed Value and how it works exactly. I have been through few examples in some documents but they made me more confused. Also how mapping parameter works & what is the format of the parameterized file.
    I am really stuck on this for my work. Hoping you can help me out here.

    1. Sure, I will try me best. I will update my post and add more details on the seed value. Many Thanks for your feedback.

Leave a comment

Your email address will not be published. Required fields are marked *