In a button click event I have this
protected void btnPassword_Click(object sender, EventArgs e)
{
string UserID = "Test";
string password = txtPassword.Text;
var random = new Random();
Salt = GenerateSalt();
Iterations = random.Next(10000, 100000);
Hash = GenerateHash(password, Salt, (int)Iterations);
Response.Write(Hash + "<br />" + Salt + "<br />" + Iterations);
}
and I am able to see the results.
Why is it that I get an object reference error when trying to put it into a database:
protected void btnPassword_Click(object sender, EventArgs e)
{
string UserID = "Test";
string password = txtPassword.Text;
var random = new Random();
Salt = GenerateSalt();
Iterations = random.Next(10000, 100000);
Hash = GenerateHash(password, Salt, (int)Iterations);
// The error occurs on the following line
using (SqlConnection conn2 = new SqlConnection(ConfigurationManager.ConnectionStrings["SiteSqlServer2"].ConnectionString))
{
SqlCommand cmd1 = new SqlCommand(@"INSERT INTO [MyTable](UserID,
Hash, Salt, Iterations)
VALUES (@UserID, @Hash, @Salt, @Iterations)", conn2);
cmd1.CommandType = CommandType.Text;
conn2.Open();
cmd1.Parameters.AddWithValue("@UserId", UserID);
cmd1.Parameters.AddWithValue("@Hash", Hash);
cmd1.Parameters.AddWithValue("@Salt", Salt);
cmd1.Parameters.AddWithValue("@Iterations",Convert.ToInt32(Iterations));
cmd1.ExecuteNonQuery();
}
}
Stack trace:
[NullReferenceException: Object reference not set to an instance of an object.] ashlandapp_bootstrap.Encrypt.btnPassword_Click(Object sender, EventArgs e) in c:\Users\20002143\Documents\Visual Studio 2012\Projects\ashlandapp-bootstrap\ashlandapp-bootstrap\Encrypt.aspx.cs:66 System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9556538 System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103 System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10 System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13 System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724