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