The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

String::Mask - mask sensitive data

VERSION

Version 1.00

SYNOPSIS

Quick summary of what the module does.

        use String::Mask qw/mask/;

        mask('thisusedtobeanemail@gmail.com'); # thisusedtobean*****@*****.***
        mask('thisusedtobeanemail@gmail.com', 'start', 5); # 'thisu**************@*****.***'
        mask('thisusedtobeanemail@gmail.com', 'end'); # '***************mail@gmail.com'
        mask('thisusedtobeanemail@gmail.com', 'end', 5); # '*******************@****l.com'
        mask('thisusedtobeanemail@gmail.com', 'middle'); # '*******dtobeanemail@g****.***'
        mask('thisusedtobeanemail@gmail.com', 'middle', 5); # '************anema**@*****.***'
        mask('thisusedtobeanemail@gmail.com', 'email'); # 'thisu**************@*****.***'
        mask('thisusedtobeanemail@gmail.com', 'email', 2); # 'thisusedtobeanema**@*****.***'

        mask('9991234567'); # '99912*****'
        mask('9991234567', 'start', 3); # '999*******'
        mask('9991234567', 'end'); # '*****34567'
        mask('9991234567', 'end', 3); # '*******567'
        mask('9991234567', 'middle'); # '**91234***'
        mask('9991234567', 'middle', 4); # '***1234***'

        mask('9991234567', 'middle', 4, '_'); # '___1234___'

Description

Data masking or data obfuscation is the process of hiding original data with modified content (characters or other data). The main reason for applying masking to a string is to protect data that is classified as personally identifiable information, sensitive personal data, or commercially sensitive data. However, the data must remain usable for the purposes of undertaking valid test cycles. It must also look real and appear consistent.

EXPORT

mask

This function accepts 4 arguments:

        mask($string, $position, $length, $char);
string

The text that you like to mask.

position

The position you would like to be visible. Currently you have four options start, middle, end or email. The default is start.

length

The number of characters that should remain visible. The default is half the length of the passed string.

mask character

The mask character that will replace any masked text. The default is *.

AUTHOR

LNATION, <email at lnation.org>

BUGS

Please report any bugs or feature requests to bug-string-mask at rt.cpan.org, or through the web interface at https://rt.cpan.org/NoAuth/ReportBug.html?Queue=String-Mask. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc String::Mask

You can also look for information at:

ACKNOWLEDGEMENTS

LICENSE AND COPYRIGHT

This software is Copyright (c) 2020->2021 by LNATION.

This is free software, licensed under:

  The Artistic License 2.0 (GPL Compatible)