I want to implement encryption as there are multiple people with access to the database and my company wants to store personnel (sensitive) information in my application. To create some separation and security I want to implement encryption ideally using a ‘key’ they pick to encrypt the data in one SQL table.
I know doing it myself, I am going to miss a trick and tried-and-tested is probably best, especially for a company our size where we don’t need to worry too much about hackers as the DB is not externally accessible. Just enough to keep out interested parties.
I would like to know what level of security is appropriate and also I am bit lost as to what to even Google to find out what sort of encryption maybe in a third party plugin I need to use as they all want to sell their product they will all say their own is great?
Most other questions I could find and the suggested ‘Similar Questions’ talked about data transfer encryption, hashing or ASP.NET
Personally I would recommend using AES as its very easy to implement and with it being sensitive personal data would provide enough encryption to keep people out unlike something like DES.
This article goes in depth into AES if you want to have a technical understanding of how it works: http://msdn.microsoft.com/en-us/magazine/cc164055.aspx
and the basic examples shipped with it : http://msdn.microsoft.com/en-us/magazine/cc164846.aspx
A very clean example of how to implement it is here: http://www.obviex.com/samples/Code.aspx?Source=EncryptionCS&Title=Symmetric%20Key%20Encryption&Lang=C%23
Example stripped down (To prevent link rott)