8.5.2.4 MySQL Enterprise Data Masking and De-Identification Component Function Descriptions (original) (raw)

Data Masking Component Functions

Each component function in this section performs a masking operation on its string argument and returns the masked result.

mysql> SELECT mask_canada_sin('046-454-286'), mask_canada_sin('abcdefijk');  
+--------------------------------+------------------------------+  
| mask_canada_sin('046-454-286') | mask_canada_sin('abcdefijk') |  
+--------------------------------+------------------------------+  
| XXX-XXX-XXX                    | XXXXXXXXX                    |  
+--------------------------------+------------------------------+  
mysql> SELECT mask_canada_sin('909');  
ERROR 1123 (HY000): Can't initialize function 'mask_canada_sin'; Argument 0 is too short.  
mysql> SELECT mask_canada_sin('046-454-286-909');  
ERROR 1123 (HY000): Can't initialize function 'mask_canada_sin'; Argument 0 is too long.  
mysql> SELECT mask_iban('IE12 BOFI 9000 0112 3456 78'), mask_iban('abcdefghijk');  
+------------------------------------------+--------------------------+  
| mask_iban('IE12 BOFI 9000 0112 3456 78') | mask_iban('abcdefghijk') |  
+------------------------------------------+--------------------------+  
| IE** **** **** **** **** **              | ab*********              |  
+------------------------------------------+--------------------------+  
mysql> SELECT mask_iban('909');  
ERROR 1123 (HY000): Can't initialize function 'mask_iban'; Argument 0 is too short.  
mysql> SELECT mask_iban('IE12 BOFI 9000 0112 3456 78 IE12 BOFI 9000 0112 3456 78');  
ERROR 1123 (HY000): Can't initialize function 'mask_iban'; Argument 0 is too long.  
mysql> SELECT mask_inner('abcdef', 1, 2), mask_inner('abcdef',0, 5);  
+----------------------------+---------------------------+  
| mask_inner('abcdef', 1, 2) | mask_inner('abcdef',0, 5) |  
+----------------------------+---------------------------+  
| aXXXef                     | Xbcdef                    |  
+----------------------------+---------------------------+  
mysql> SELECT mask_inner('abcdef', 1, 2, '*'), mask_inner('abcdef',0, 5, '#');  
+---------------------------------+--------------------------------+  
| mask_inner('abcdef', 1, 2, '*') | mask_inner('abcdef',0, 5, '#') |  
+---------------------------------+--------------------------------+  
| a***ef                          | #bcdef                         |  
+---------------------------------+--------------------------------+  
mysql> SELECT mask_outer('abcdef', 1, 2), mask_outer('abcdef',0, 5);  
+----------------------------+---------------------------+  
| mask_outer('abcdef', 1, 2) | mask_outer('abcdef',0, 5) |  
+----------------------------+---------------------------+  
| XbcdXX                     | aXXXXX                    |  
+----------------------------+---------------------------+  
mysql> SELECT mask_outer('abcdef', 1, 2, '*'), mask_outer('abcdef',0, 5, '#');  
+---------------------------------+--------------------------------+  
| mask_outer('abcdef', 1, 2, '*') | mask_outer('abcdef',0, 5, '#') |  
+---------------------------------+--------------------------------+  
| *bcd**                          | a#####                         |  
+---------------------------------+--------------------------------+  
mysql> SELECT mask_pan(gen_rnd_pan());  
+-------------------------+  
| mask_pan(gen_rnd_pan()) |  
+-------------------------+  
| XXXXXXXXXXXX9102        |  
+-------------------------+  
mysql> SELECT mask_pan(gen_rnd_pan(19));  
+---------------------------+  
| mask_pan(gen_rnd_pan(19)) |  
+---------------------------+  
| XXXXXXXXXXXXXXX8268       |  
+---------------------------+  
mysql> SELECT mask_pan('a*Z');  
ERROR 1123 (HY000): Can't initialize function 'mask_pan'; Argument 0 is too short.  
mysql> SELECT mask_pan_relaxed(gen_rnd_pan());  
+---------------------------------+  
| mask_pan_relaxed(gen_rnd_pan()) |  
+---------------------------------+  
| 551279XXXXXX3108                |  
+---------------------------------+  
mysql> SELECT mask_pan_relaxed(gen_rnd_pan(19));  
+-----------------------------------+  
| mask_pan_relaxed(gen_rnd_pan(19)) |  
+-----------------------------------+  
| 462634XXXXXXXXX6739               |  
+-----------------------------------+  
mysql> SELECT mask_pan_relaxed('a*Z');  
ERROR 1123 (HY000): Can't initialize function 'mask_pan_relaxed'; Argument 0 is too short.  
mysql> SELECT mask_ssn('909-63-6922'), mask_ssn('cdefghijk');  
+-------------------------+-------------------------+  
| mask_ssn('909-63-6922') | mask_ssn('cdefghijk')   |  
+-------------------------+-------------------------+  
| ***-**-6922             | *******hijk             |  
+-------------------------+-------------------------+  
mysql> SELECT mask_ssn('909');  
ERROR 1123 (HY000): Can't initialize function 'mask_ssn'; Argument 0 is too short.  
mysql> SELECT mask_ssn('123456789123456789');  
ERROR 1123 (HY000): Can't initialize function 'mask_ssn'; Argument 0 is too long.  
mysql> SELECT mask_uk_nin('QQ 12 34 56 C'), mask_uk_nin('abcdefghi');  
+------------------------------+--------------------------+  
| mask_uk_nin('QQ 12 34 56 C') | mask_uk_nin('abcdefghi') |  
+------------------------------+--------------------------+  
| QQ ** ** ** *                | ab*******                |  
+------------------------------+--------------------------+  
mysql> SELECT mask_uk_nin('909');  
ERROR 1123 (HY000): Can't initialize function 'mask_uk_nin'; Argument 0 is too short.  
mysql> SELECT mask_uk_nin('abcdefghijk');  
ERROR 1123 (HY000): Can't initialize function 'mask_uk_nin'; Argument 0 is too long.  
mysql> SELECT mask_uuid(gen_rnd_uuid());  
+--------------------------------------+  
| mask_uuid(gen_rnd_uuid())            |  
+--------------------------------------+  
| ********-****-****-****-************ |  
+--------------------------------------+  
mysql> SELECT mask_uuid('909');  
ERROR 1123 (HY000): Can't initialize function 'mask_uuid'; Argument 0 is too short.  
mysql> SELECT mask_uuid('123e4567-e89b-12d3-a456-426614174000-123e4567-e89b-12d3');  
ERROR 1123 (HY000): Can't initialize function 'mask_uuid'; Argument 0 is too long.