We use this exact method. We had a portal which previously worked off of clear text so we created two new fields, Salt and Hash, when the user logged in for the first time, we salted and hashed the password and saved to the customer entity. In our case I implemented the salt and hash function inside a workflow object so our customer support people would be able to reset passwords.

I would suggest not using sha1 though as it has been cracked now and sha256

public static string ComputeHash(string input, HashAlgorithm algorithm, Byte[] salt)

{

  Byte[] inputBytes = Encoding.UTF8.GetBytes(input);

  // Combine salt and input bytes

  Byte[] saltedInput = new Byte[salt.Length + inputBytes.Length];

  salt.CopyTo(saltedInput, 0);

  inputBytes.CopyTo(saltedInput, salt.Length);

  Byte[] hashedBytes = algorithm.ComputeHash(saltedInput);

  return BitConverter.ToString(hashedBytes);

}