C# ASP.NET C sharp-MySQL数据库中的用户密码加密和哈希

C# ASP.NET C sharp-MySQL数据库中的用户密码加密和哈希,c#,mysql,asp.net,saltedhash,C#,Mysql,Asp.net,Saltedhash,我想问你关于ASP.net C sharp的问题来解决我的问题。 我创建了MySql数据库,在用户注册表中有这些字段(用户名、电子邮件、密码、邮政编码、Slowash) 然后我创建了(PasswordHash)类,该类包含来自此网站的复制代码() 之后,我在(注册页面)中编写了此代码 在运行时期间,(cmd.ExecuteReader();)中出现错误,即“用户代码未处理异常” 提示:该程序成功注册了没有slatHash函数的任何用户。您有相当多的代码来提取散列,但不使用它做任何事情?第一步是注

我想问你关于ASP.net C sharp的问题来解决我的问题。 我创建了MySql数据库,在用户注册表中有这些字段(用户名、电子邮件、密码、邮政编码、Slowash) 然后我创建了(PasswordHash)类,该类包含来自此网站的复制代码() 之后,我在(注册页面)中编写了此代码

在运行时期间,(cmd.ExecuteReader();)中出现错误,即“用户代码未处理异常”
提示:该程序成功注册了没有slatHash函数的任何用户。

您有相当多的代码来提取散列,但不使用它做任何事情?第一步是注释掉(或删除)不需要的代码。你能发布
webappdemo.userregistration
的表定义吗?实际上我没有删除任何codeCREATE表
userregistration
userID
int(11)非空自动增量,
userName
varchar(45)不为空,
Email
varchar(100)不为空,
password
varchar(45)不为空,
saltedPassword
varchar(80)默认为空,
postCode
varchar(45)不为空,
slowash
varchar(80)默认为空,
salt
varchar(45)默认为空,主键(
userID
)ENGINE=InnoDB AUTO_INCREMENT=12默认字符集=1
 namespace MvcNursery
{
    public partial class SignUp : System.Web.UI.Page

    {
        MySql.Data.MySqlClient.MySqlConnection conn;
        MySql.Data.MySqlClient.MySqlCommand cmd;
        string queryStr;



        protected void BTNSignUp_Click(object sender, EventArgs e)
        {

            // this function for encryption
            registerUserWithLowHash();
            Response.Redirect("~/SignUpComplete.aspx");
        }
        private void registerUserWithLowHash()
        {                
            string connString = System.Configuration.ConfigurationManager.ConnectionStrings["WebAppConnString"].ToString();
            conn = new MySql.Data.MySqlClient.MySqlConnection(connString);
            conn.Open();
            queryStr = "";

                queryStr = "INSERT INTO webappdemo.userregistration (userName, Email, slowHash, postCode)" +
               "VALUES(?userName, ?Email, ?slowHash, ?postCode)";
                cmd = new MySql.Data.MySqlClient.MySqlCommand(queryStr, conn);
                cmd.Parameters.AddWithValue("?userName", UserNameSignUp.Text);
                cmd.Parameters.AddWithValue("?Email", EmailSignUp.Text);
                cmd.Parameters.AddWithValue("?postCode", PostcodeSignUp.Text);
                string saltHashReturned = PasswordHash.CreateHash(PasswordSignUp.Text);
                int commIndex = saltHashReturned.IndexOf(":");
                string extractedString = saltHashReturned.Substring(0, commIndex);
                commIndex = saltHashReturned.IndexOf(":");
                extractedString = saltHashReturned.Substring(commIndex + 1);
                commIndex = extractedString.IndexOf(":");
                string salt = extractedString.Substring(0, commIndex);
                commIndex = extractedString.IndexOf(":");
                extractedString = extractedString.Substring(commIndex + 1);
                string hash = extractedString;

                cmd.Parameters.AddWithValue("?slowHash", saltHashReturned);
                cmd.ExecuteReader();
                conn.Close();    

        }}}