# Sunday, August 28, 2005

IMPORTANT: The functions within this FLL have changed. Please refer to the latest documention for the VFP Encryption FLL that can be found at the following link:

Major VFP Encryption Update



As security concerns mount, developers and clients are looking at ways to encrypt/decrypt sensitive data and files. Visual FoxPro comes with a Crypto API example in the Solution Samples, but more than a few Visual FoxPro developers have been bitten when using this in distributed applications. I felt there were too many gotchas and, after running into my fair share of client systems that it didn't work on, I eventually gave up on it.

What I wanted was something extremely secure and reliable that was also very simple to use. So, I sat down and wrote an FLL that gives Visual FoxPro developers access to the Blowfish cipher (this is not a mini version of Blowfish, this is fullblown 16-Round based on work by Bruce Schneier & Jim Conge). Some good information is available at the links below for those of you that might not be familiar with Blowfish...

http://en.wikipedia.org/wiki/Blowfish_(cipher)

http://www.schneier.com/paper-blowfish-oneyear.html

16-round Blowfish is very secure, extremely fast when handling large amounts of data, and I like the idea of only having to write a few lines of code to get reliable encryption and decryption for my Visual FoxPro applications.

   SET LIBRARY TO LOCFILE("vfpencryption.fll")
   cEncryptedString = BFEncrypt("Credit Card #35823908523105009", "My_SeCuRe_PaSsWoRd_kEY")
   ? "Encrypted As: " + cEncryptedString
   cDecryptedString = BFDecrypt(cEncryptedString, "My_SeCuRe_PaSsWoRd_kEY")
   ? "Decrypted As: " + cDecryptedString


Files can also be encrypted, simply use STRTOFILE() and FILETOSTR() in conjunction with the above functions. I'll be adding native file encryption/decryption and more encryption algorithms to this FLL in the coming months. The eventual goal is to provide a number of security enhancements for Visual FoxPro, this FLL is just the humble beginning of a much bigger plan. Here's the download link where you can get the vfpencryption.fll and try out the example code above.

Download the vfpencryption.fll (9 KB approx.)

Sunday, August 28, 2005 11:48:13 AM (GMT Daylight Time, UTC+01:00)  #    Comments [4]

 

Archive

<August 2005>
SunMonTueWedThuFriSat
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910