
Every now and then I find myself answering the same questions over and over. Those are topics I always like to post here so I have a place to share the information to a larger audience rather than only in the SalesLogix Business Partner newsgroups. A question that surfaces every now and then is if it is possible to encrypt sensitive data stored in a SalesLogix database.
There are several ways you could accomplish this. However, you can make it an easy task and use a DLL that is installed by SalesLogix for encryption. There is a DLL named SLXRWEL.DLL that is used to encrypt/decrypt the ReadWrite Password (See my article Connecting with the RWPassword From External Applications on slxdeveloper.com for more details). You could use that for your own encryption as well.
To Encrypt:
Dim objRwel Dim sEncrypted Set objRwel = CreateObject("SLXRWEL.SLXRWEOBJ") sEncrypted = objRwel.Add("This is my text") Set objRwel = Nothing MsgBox "Encrypted value is: " & sEncrypted
To Decrypt:
Dim objRwel Dim sDecrypted Set objRwel = CreateObject("SLXRWEL.SLXRWEOBJ") sDecrypted = objRwel.Remove(sEncrypted) Set objRwel = Nothing MsgBox "Decrypted value is: " & sDecrypted
Downsides are that anyone can use that library (if they know that is what you used to encrypt the value). Also, if SalesLogix changed it somehow there’s a chance it would break your stuff too (but that’s unlikely since it would likely break theirs too). But it is convenient to use and for general use I think it’d be safe to use. Alternatively, instead of using “Add” & “Remove” you can use “AddKey” and “RemoveKey” if you want to specify your own encryption seed.
Hi Jim,
You know, I’ve had that request before. I’ve posted it now. See http://www.slxdeveloper.com/page.aspx?action=viewarticle&articleid=103
-Ryan
Great tip. Does this apply to InforCRM 8.x?
Well, this article uses the SLXRWEL COM library. I’d avoid using this in web since there are better ways to do encryption using C# (really any .NET encryption method/library would work in SLX web)