public bool RegisterMailVerify(Member Model)//string Account, string Username { //AutoMail實體化 AutoMailClass mail = new AutoMailClass(); //Random 亂數實體化 Random rnd = new Random(); //產生 100000~999999 之一的亂數 string code = rnd.Next(100000, 999999 + 1).ToString(); //發送註冊驗證信 if (mail.RegisterVerify(Model.Account, Model.Username, code)) { //把驗證碼寫進資料庫 //sql where var sqlWhere = string.Format("Account = {0}", SqlVal2(Model.Account)); //sql str var sqlStr = string.Format("UPDATE Member SET MailCheckCode = {0}, MailCheck = {1} where {2} and 1=1", SqlVal2(code), SqlVal2("0"), sqlWhere); //SQL Check Update成功(True)或失敗(False) return(_DB_Execute(sqlStr) == 1 ? true : false); } else { //信件發送失敗 return(false); } }
public bool PasswordMailVerify(Member Model) { //SQL Insert Member var sqlStr = string.Format("select Account,Username from [dbo].[Member] where Account = {0}", SqlVal2(Model.Account)); //SQL Check var data = _DB_GetData(sqlStr); //資料庫內是否有此帳號 if (data.Rows.Count > 0) { //AutoMail實體化 AutoMailClass mail = new AutoMailClass(); #region 亂數密碼 string ranNumber = "0123456789"; string ranUpper = "ABCDEFGHJKLMNOPQRSTUVWXYZ"; string ranLower = "abcdefghijkmnopqrstuvwxyz"; string ranSymbol = "!@#$%^&*"; //密碼長度 int passwordLength = 10; //密碼 char char[] chars = new char[passwordLength]; //Random 亂數實體化 Random rnd = new Random(); //開始亂數 for (int i = 0; i < passwordLength; i++) { if (i % 5 == 0) { chars[i] = ranNumber[rnd.Next(0, ranNumber.Length)]; } else if (i % 3 == 0) { chars[i] = ranUpper[rnd.Next(0, ranUpper.Length)]; } else if (i % 2 == 0) { chars[i] = ranLower[rnd.Next(0, ranLower.Length)]; } else { chars[i] = ranSymbol[rnd.Next(0, ranSymbol.Length)]; } } //New Password string pwd = new string(chars); #endregion //發送新密碼 if (mail.ForgetPasswordSend(Model.Account, data.Rows[0].ItemArray.GetValue(1).ToString(), pwd)) { //把新密碼寫進資料庫 //sql where var sqlWhere = string.Format("Account = {0}", SqlVal2(Model.Account)); //sql str sqlStr = string.Format("UPDATE Member SET Password = {0}, PwdChangeCheck = {1}, ModifyTime = {2} where {3} and 1=1", SqlVal2(SHA256_Encryption(pwd)), SqlVal2("1"), DBC.ChangeTimeZone(), sqlWhere); //SQL Check Update成功(True)或失敗(False) return(_DB_Execute(sqlStr) == 1 ? true : false); } else { //信件發送失敗 return(false); } } else { //寄送失敗 找不到此帳號 return(false); } }