I have a security class:
 public class security
{
    private static string createSalt(int size)
    {
        //Generate a random cryptographic number
        RNGCryptoServiceProvider rng = new RNGCryptoServiceProvider();
        byte[] b = new byte[size];
        rng.GetBytes(b);
        //Convert to Base64
        return Convert.ToBase64String(b);
    }
    /// <summary>
    /// Generate a hashed password for comparison or create a new one
    /// </summary>
    /// <param name="pwd">Users password</param>
    /// <returns></returns>
    public static string createPasswordHash(string pwd)
    {
        string salt = "(removed)";
        string saltAndPwd = string.Concat(pwd, salt);
        string hashedPwd =
            FormsAuthentication.HashPasswordForStoringInConfigFile(
            saltAndPwd, "sha1");
        return hashedPwd;
    }
}
This works fine, but I am wondering if it is sufficient enough.
Also, is this next block of code better? Overkill?
static byte[] encrInitVector = new byte[] { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
static string encrKey = "(removed)";
public static string EncryptString(string s)
{
    byte[] key;
    try
    {
        key = Encoding.UTF8.GetBytes(encrKey.Substring(0, 8));
        DESCryptoServiceProvider des = new DESCryptoServiceProvider();
        byte[] inputByteArray = Encoding.UTF8.GetBytes(s);
        MemoryStream ms = new MemoryStream();
        CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(key, encrInitVector), CryptoStreamMode.Write);
        cs.Write(inputByteArray, 0, inputByteArray.Length);
        cs.FlushFinalBlock();
        return Convert.ToBase64String(ms.ToArray());
    }
    catch (Exception e)
    {
        throw e;
    }