title: Encrypting and decrypting data using NHibernate
body: <p>I'm writing a publicly accessible web application which will contain personal user data, such as names and birth dates, and I'm required to encrypt this data in a form  that will be difficult for a human who might access the raw data to decrypt. I'm using <a href="http://fluentnhibernate.org/" rel="noreferrer">Fluent NHibernate</a>, mySQL, and C# 3.5.</p>
  
  <ol>
  <li><p>What method should I use for industry standard encryption and decryption of user information? The method of encryption should not be database dependent.</p></li>
  <li><p>How do I tell nHibernate to do transparent encryption/decryption on certain mapped classes with a simple property, like <code>StorageType = StorageType.Encrypted</code>. I don't mind if the resulting database table has just one or two columns, or one for each encrypted field. From what I've found, I should create my own data type from <code>IUserDataType</code> and encrypt the data in the constructor. Is this correct?</p></li>
  </ol>