A Groovy way to mask data

I was working on some code where I needed to mask data, and the application was being written in Groovy. I came up with this (what I think is a) neat trick to do it, using regular expressions and lambda expressions/closures.

package example

class Model implements Serializable {
	...
	String value
	...

	def valueMasked() {
		return value.replaceFirst('.*(?=.{4})', { match ->
			return "".padLeft(match.length(), '*')
		});
	}
}
This entry was posted in Groovy and tagged , , , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.