public object NullSafeGet(IDataReader Reader, string[] Names, object Owner) { var StringToDecrypt = NHibernateUtil.String.NullSafeGet(Reader, Names[0]); Salt = (string) NHibernateUtil.String.NullSafeGet(Reader, Names[1]); var DecryptorToUse = new CryptographyFactory().CreateDecryptor(); return DecryptorToUse.Decrypt((string) StringToDecrypt, Salt); }
public void NullSafeSet(IDbCommand Cmd, object Value, int Index) { if (Value == null) { NHibernateUtil.String.NullSafeSet(Cmd, null, Index); NHibernateUtil.String.NullSafeSet(Cmd, null, ++Index); return; } var UnencryptedMsg = (string) Value; var Factory = new CryptographyFactory(); var EncryptorToUse = Factory.CreateEncryptor(); if (string.IsNullOrEmpty(Salt)) Salt = EncryptorToUse.GenerateSalt(); var EncryptedMsg = EncryptorToUse.Encrypt(UnencryptedMsg, Salt); ////Set the values to persist NHibernateUtil.String.NullSafeSet(Cmd, EncryptedMsg, Index); //Save encrypted value NHibernateUtil.String.NullSafeSet(Cmd, Salt, ++Index); //Save Salt }