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.