public static void SendVerifyCode(string mailAdd) { var random = new Random(); var verifyCode = random.Next(0, 999999).ToString("000000"); if (_records.ContainsKey(mailAdd)) { _records[mailAdd] = new VerifyRecord { VerifyCode = verifyCode, ValidThrough = DateTime.Now.AddMinutes(5) }; } else { _records.Add(mailAdd, new VerifyRecord { VerifyCode = verifyCode, ValidThrough = DateTime.Now.AddMinutes(5) }); } var mailService = new Mail(); mailService.Send(new MailInfo() { Receiver = mailAdd, Subject = "红杉书屋平台注册验证", Body = "您的注册验证码是:" + verifyCode + "。5分钟有效。" }); }
public long Insert(VerifyRecord model) { using (var con = WriteConnection()) { return(con.ExecuteScalar <long>("INSERT INTO VerifyRecords(AccountId, Type, Body, CreateTime) VALUES(@AccountId, @Type, @Body , @CreateTime); SELECT SCOPE_IDENTITY()", model)); } }
/// <summary> /// 生成验证码 /// </summary> /// <param name="mobile">手机号</param> /// <param name="type">验证类型</param> /// <param name="time">过期时间(分钟)</param> /// <returns>JsonResult</returns> public JsonResult NewCode(string mobile, int type, int time) { var verify = General.Verify(mobile + Secret); if (!verify.Successful) { return(verify); } var record = SmsCodes.OrderByDescending(r => r.CreateTime).FirstOrDefault(r => r.Mobile == mobile && r.Type == type); if (record != null && (DateTime.Now - record.CreateTime).TotalSeconds < 60) { return(verify.TimeTooShort()); } var code = Util.Random.Next(100000, 999999).ToString(); record = new VerifyRecord { Type = type, Mobile = mobile, Code = code, FailureTime = DateTime.Now.AddMinutes(time), CreateTime = DateTime.Now }; SmsCodes.Add(record); General.LogToLogServer("700501", $"已经为手机号【{mobile}】的用户生成了类型为【{type}】的短信验证码:【{code}】。此验证码将于{record.FailureTime}失效。", "验证服务", "生成短信验证码"); return(verify.Success(code)); }
public static void SendVerifyCode(string phoneNum) { var random = new Random(); var verifyCode = random.Next(0, 9999).ToString("0000"); if (_records.ContainsKey(phoneNum)) { _records[phoneNum] = new VerifyRecord { VerifyCode = verifyCode, ValidThrough = DateTime.Now.AddMinutes(5) }; } else { _records.Add(phoneNum, new VerifyRecord { VerifyCode = verifyCode, ValidThrough = DateTime.Now.AddMinutes(5) }); } try { SmsSingleSender ssender = new SmsSingleSender(appid, appkey); SmsService.Sms(phoneNum, verifyCode); var results = ssender.sendWithParam("86", phoneNum, templateId, new[] { verifyCode, "5" }, smsSign, "", "");// 签名参数未提供或者为空时,会使用默认签名发送短信 Console.WriteLine(results); } catch (JSONException e) { Console.WriteLine(e); } catch (HTTPException e) { Console.WriteLine(e); } catch (Exception e) { Console.WriteLine(e); } }
public bool add(VerifyRecord vr) { bool isTrue = false; string query = @" INSERT INTO [dbo].[VerifyRecords] ([userId] ,[VerifyType] ,[VerifyContent] ) VALUES (@userId ,@VerifyType ,@VerifyContent ) "; using (SqlConnection cn = new SqlConnection(WebConfigurationManager.ConnectionStrings["SQLData"].ConnectionString.ToString())) { cn.Open(); using (SqlCommand command = new SqlCommand(query, cn)) { try { command.Parameters.AddWithValue("@userId", vr.userId); command.Parameters.AddWithValue("@VerifyType", vr.VerifyType); command.Parameters.AddWithValue("@VerifyContent", vr.VerifyContent); int _count = (int)command.ExecuteScalar(); isTrue = true; } catch (Exception e) { //抓錯誤訊息 return(false); } finally { } } return(isTrue); } }