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 comment

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