Don't do the SHA in SQL - do it in your C# code, and use a Salt value (such as the username) to prevent identical passwords having identical hashes. Then pass the byte array from the hash directly to SQL instead of the string. This may help:
Password Storage: How to do it.[
^]
SHA512CryptoServiceProvider sha = new SHA512CryptoServiceProvider();
byte[] hashvalue = sha.ComputeHash(System.Text.Encoding.Unicode.GetBytes(txtUserName.Text + txtPassword.Text));
db.Command.Parameters.AddWithValue("@password", hashvalue);
Then declare the Stored Procedure parameter as VARBINARY(64) and it should all work.