C#编程忘记密码功能的实现方法

C#编程忘记密码功能的实现方法,第1张

C#编程忘记密码功能的实现方法,第2张

本文将给出通过C#编程实现忘记密码功能的方法和代码。您可以参考本文中的思想来编写这个函数代码...

以下为报价片段:
int result = user . getbackpassword(loginname . text . trim()、question.text.trim()、
answer.text.trim()、email . text);

if(result = = 1)
{
message . text = "您的密码已发送,请在邮箱中检查";
//user . change password(
}
else
{
message . text = "您输入的信息有误!";
}

public int GetBackPassword(字符串用户名,字符串问题,字符串答案,字符串邮件)
{
object m _ DBNull = Convert。DBNull
//获取新的随机密码
string new password = make password(6);
//定义存储过程参数
SQL parameter[]para = {
New SQL parameter(" @ username ",用户名),
New SQL parameter(" @ question ",问题),
new SqlParameter("@answer ",答案),
New SQL parameter(" @ newPassword ",New password),
new SqlParameter("@result ",SqlDbType.Int,8,ParameterDirection。Output,
true,0,0,“”,DataRowVersion。默认值,m _ DBNull)
};

//执行存储过程
try
{
dal。sqlhelper.executenonquery (dal。sqlhelper.conn _ string,commandtype.storedprocedure,
" get
}
catch
{
throw new exception("邮件无法发送!" );
}
/获取输出参数的值
int result = convert . toint 32(para[4])。值);
//如果密码保护信息填写正确
If(result = = 1)
{
/从web . config
string sender = System中获取发件人的地址、邮件标题、邮件用户名和密码以及SMTP服务器。configuration . configuration settings . appsettings[" main sender "];
string title = System。configuration . configuration settings . appsettings[" mail title "];
string mailUser = System。configuration . configuration settings . appsettings[" mailUser "];
string mailPwd = System。configuration . configuration settings . appsettings[" mail pwd "];
string smtpServer = System。configuration . configuration settings . appsettings[" mailSmtpServer "];
//发送信件
尝试
{
邮件。CDO sendmail(发件人,邮箱,标题,“您在eshop的密码已恢复,新密码为“+newpassword
,mailuser,mailpwd,SMTP server)。
}
catch(Exception ex)
{
抛出新的异常(ex。消息);
}
}

返回结果;
}

//随机生成密码
private static string make password(int pwd length)
{
//声明要返回的字符串
string tmpstr = " ";
//密码
字符串pwd chars = " abcdefghijklmnopqrstuvwxyz 0123456789 abcdefghijklmnopqrstuvwxyz "中包含的字符数组;
//数组索引随机数
int iRandNum;
//随机数生成器
Random rnd = new Random();
for(int I = 0;I {
/random类的Next方法生成指定范围内的随机数
I rand num = rnd . Next(pwd chars . length);
//tmpstr随机添加一个字符
tmpstr+= pwd chars[irandnum];
}
return tmpstr;
}

将过程getback pwd
@ QUESTION nvarchar(50),
@answer nvarchar(50),
@userName nvarchar(50),
@newPassword nvarchar(50),
@ RESULT int output
AS
如果存在(SELECT * FROM USERINFO其中userName = @ userName AND QUESTION = @ QUESTION
AND ANSWER = @ ANSWER)
BEGIN
SET @ RESULT








位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C#编程忘记密码功能的实现方法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情