>I am working on a project that uses a MySQL backend and VFP 9 Front end. The client wishes to have all data in the database encrypted. That should not be a problem.
>Furthermore, they wish that all data send via the network should be also encrypted.
>So, how could I accomplish that?There are different ways. What I would do for the data is use a strong encruyption algorithm and routine, such as Craig Boyd's AES encryption:
http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,db662a8f-d47c-46c8-b0d2-a591c20d024b.aspxYou would have to encrypt before storing in the DB and back. You probably do not need to encrypt everything and can save processing time by encrypting only sensitive fields. You wouldn't encrypt PKs and FKs anyway. You would, OTOH want to encrypt SSN, credit card numbers, salary information, and the like.
As per sending the data already encrypted that is a little trickier. It depends on the kind of net and protocol you use. If you use web (HTTP) then it is fairly easy and automatic once you obtain and install a certificate from a Certificate Authority (CA) such as Verisign, then you use SSL (protocol HTTPS) and it transmission encryption is totally transparent to you.
If you use a common LAN (TCP/IP) then it gets more complex. There are solutions out there. If you want to do it yourself with routines like the one mentioned above then you'd have to encrypt/decrypt the data at the workstation level. This is harder and costly in terms of processing time. For commercial solutions do a search online but ask yourself, in a corp LAN if it is really needed. Also if the LAN is connected to the outside, don't forget you need firewalls and strong port policing, procedures and controls.