Question: Can Alteryx do field encryption and then decrypt the field? For example Example Social Security or Account Numbers?
I couldn’t help but take the challenge – I have been thinking about encryption a bunch lately… Of course Alteryx has no built in method for encrypting data at this point, although it is a fine feature suggestion. Don’t be surprised to see an AES_Encrypt(…) function at some point in the future.
Anyway, taking up the challenge, I just wrote a quick encryption algorithm into an Alteryx macro. This is symmetric encryption, which means the same key encrypts and decrypts. That means if anyone gets the key, they can decrypt anything encrypted with it. The algorithm a fairly simplistic, but I suspect it is fairly secure. I would not doubt that an expert cryptographer would be able to reverse it with some work, but it is certainly good enough for casual use. It is based on a fairly secure one time pad and then adds some random salt, so if you encrypt the same string multiple times, it will produce a completely different encrypted value. Hence knowing one value should not give you the keys to decrypt everything.
Since this is just a proof of concept, it is limited to 60 characters of input and the output can be as long as 256 characters. Remember this is a proof of concept and has had no security review, so no guarantees. If you want to use it, you can That said, it was fun making it. I hope people enjoy.
The macro and text module can be download from drop box: EncryptField.yxzp
Thanks for listening,
If you don’t yet have a copy of Alteryx, by all means go get one. Its free (for limited use)… http://www.alteryx.com/download
August 17, 2013 at 5:30 pm
Funny, about a year ago or so we used Alteryx’s FormulaAddIn API to add encryption/decryption routines for a client automation we were running.
August 17, 2013 at 9:47 pm
Thanks for commenting! One of my goals with the series of Alteryx solutions is to show how much is possible without resorting to custom code. The feature request for encryption was just because of a lack of imagination that Alteryx could do it. At this point it is getting to be a pretty robust data programming environment.
Thanks for reading!