.NET 实现手机短信验证接口
My first blog
注:此文章是用于秒滴的手机短信验证
先声明一个类AccontToken ,里面添加4个字段:
开发者主账号ID:accountSid,
开发者密匙:AUTH_TOKEN,
短信接收端手机号码:phonenumber,
手机验证码:Verify
不明白的多看哈:http://www.miaodiyun.com/doc/https_sms.html
一、首先判断手机是否格式正确
//用正则表达式验证手机号码
Regex regPhoneNumber = new Regex(@"^1[34578]\d{9}$");
if (!regPhoneNumber.IsMatch(phone))
{
Response.Write("PhoneNumber_No");
Response.End();
return;
}
二、随机生成数字验证码
Random rd = new Random();
string rd_str = rd.Next(100000, 1000000).ToString();
ViewBag.rd_str = rd_str;
三、向AccontToken类 字段赋值,并调用CreatePostHttpResponse()
AccontToken acss = new AccontToken(.....................);
string response = CreatePostHttpResponse(acss);
四、写好MD5加密方法。后面sig要调用
public static string GetMD5(string str)
{
//字符串转换成字节数组
byte[] jmq = System.Text.Encoding.Default.GetBytes(str);
MD5 md5 = new MD5CryptoServiceProvider();
//通过字节数组转换成加密后的字节数组(hash编码值)
byte[] jmbehind = md5.ComputeHash(jmq);
//加密后的字节数组转换成字符串,中间不带任何符号,需替换成“”
string strhebind = BitConverter.ToString(jmbehind).Replace("-", "");
return strhebind;
}
五、秒滴短信验证接口
public static string CreatePostHttpResponse(AccontToken gcn)
{
string timestamp = DateTime.Now.ToString("yyyyMMddHHmmss");
HttpClient hc = new HttpClient();
List<KeyValuePair<string, string>> kvlist = new List<KeyValuePair<string, string>>();
kvlist.Add(new KeyValuePair<string, string>("accountSid", gcn.accountSid));
kvlist.Add(new KeyValuePair<string, string>("smsContent", "【####】尊敬的用户,您的验证码为" +gcn. Verify));
//发给谁?(短信接收端手机号码集合。用英文逗号分开,每批发送的手机号数量不得超过100个。)
kvlist.Add(new KeyValuePair<string, string>("to", gcn.phonenumber));
//时间戳。当前系统时间(24小时制),格式"yyyyMMddHHmmss"。时间戳有效时间为5分钟。
kvlist.Add(new KeyValuePair<string, string>("timestamp", timestamp));
//签名。MD5(ACCOUNT SID + AUTH TOKEN + timestamp)。共32位(小写)。注意:MD5中的内容不包含”+”号。
kvlist.Add(new KeyValuePair<string, string>("sig", GetMD5(gcn.accountSid + gcn.AUTH_TOKEN + timestamp).ToLower()));
//发送并返回信息
HttpContent content = new FormUrlEncodedContent(kvlist);
HttpResponseMessage hrm = hc.PostAsync("https://api.miaodiyun.com/20150822/industrySMS/sendSMS", content).Result;
string result = hrm.Content.ReadAsStringAsync().Result;
return result;
}
六、最后根据 三、调用返回的结果判断短信验证是否发送成功
if (response.Contains("00000"))
{
//验证码发送成功后,记录用户获取验证码的手机号和生成的验证码
Session["rd_str"] = rd_str;
Session["phonenumber"] = phone;
//设置Session失效时间,即手机号和验证码过期时间
Session.Timeout = 5;
Response.Write("SendMessage_Success");
Response.End();
return;
}
else //发送失败
{
Response.Write("SendMessage_Error");
Response.End();
return;
}
My first blog
注:此文章是用于秒滴的手机短信验证
.NET 实现手机短信验证接口相关推荐
- 手机短信验证码接口在各领域的应用
很多网站.APP应用.内部管理软件在使用过程中,都需要会员进行手机号码验证.登录验证.操作验证,在各种验证形式中,手机短信验证的方式最为简单和方便.根据不同的应用领域,手机短信验证可以广泛应用在如下方 ...
- php中短信验证大致流程,实现php手机短信验证功能的基本思路
现在很多网站为了避免用户烂注册,都在注册环节添加有手机短信验证功能,用户注册时需要短信验证码才可以,那么这种手机短信验证功能是如何实现的呢?其基本思路是什么呢?下面乐信小编就来为大家介绍下: 实现手机 ...
- java实现手机短信验证全过程
点个赞,看一看,好习惯!本文 GitHub https://github.com/OUYANGSIHAI/JavaInterview 已收录,这是我花了 3 个月总结的一线大厂 Java 面试总结,本 ...
- php手机号码一分钟发送一次短信_如何实现php手机短信验证功能
现在网站在建设网站时为了保证用户信息的真实性,往往会选择发短信给用户手机发验证码信息,只有通过验证的用户才可以注册,这样保证了用户的联系信息资料的100%的准确性 .今天笔者就跟大家分享一下如何实现p ...
- Vue与Node.js实现手机短信验证登录
手机短信使用的第三方平台是联容云,注册就送8块钱体验费,足够自己用用了,注册完自己建一个应用就能拿到需要使用的配置了,如图 注册完之后1就可以使用了. Node.js后端使用了Express框架 &q ...
- 手机短信验证服务,为个人信息安全提供保障
近年来,随着科技的不断创新与进步,电子商务网站已经成为了人们日常生活中不可缺少的一部分.与传统商务模式相比,电子商务的确有着其无可比拟的巨大优势,随着电子商务的不断兴盛,也衍生了许许多多的新兴服务产业 ...
- Android手机短信验证--Bmob短信验证
在Android项目中,用户注册的时候一般都会用到手机短信验证,最近使用了Bmob的短信验证,感觉还行,这里推荐给大家使用,下面是使用的方法: 1.注册一个Bmob账号 注册成功之后,按照开发文档一步 ...
- php手机短信验证功能
•短信验证码功能介绍 目的是身份验证,实现方式为利用短信接口通过向其手机 发送短信验证码,最后与用户填写的验证码填写一致即通过. •使用场景 帐号注册:密码找回:锒行交易验证:申请信用卡手机号 验证: ...
- 手机短信验证功能实现
手机短信验证功能实现 1首先要注册阿里云账号 注册地址 :http://click.aliyun.com/se/766441/ 2 登录账号在全部导航 - 产品 - 云通讯 - 短信服务 -控制台 3 ...
最新文章
- android 打包hbuilder 高德地图加载不出来_十一黄金周地图很忙:百度获央视报道,高德忙道歉,究竟谁好用?...
- C# + ArcEngine 常用方法(不定时更新)
- Http Get 和 Post
- 【测试】SAP 委外加工收货BAPI Demo
- 使用IKE预共享密钥配置IPsec
- 寻找kernel32.dll的地址
- 如何将 CSV 导入到 SqlServer 中 ?
- 【渝粤题库】国家开放大学2021春2757宠物饲养题目
- POJ 2312Battle City(BFS-priority_queue 或者是建图spfa)
- 电商美工需要的素材PSD分层模板
- 如何安装微信支付证书到服务器,微信支付如何安装操作证书?
- Java 后端彻底解决跨域问题(CORS)
- Java使用DFA算法处理敏感词汇
- TrafficMonitor 网速监控悬浮窗软件
- Python#Typora-Python笔记
- socket技术路线_呐,这不就是你要的C++后台开发学习路线吗?
- linux开启redis端口的防火墙
- 数字 IC 设计、FPGA 设计秋招笔试题目、答案、解析(1)2022 紫光展锐(上)
- mysql 密码 enc_配置文件的属性ENC加密
- 电子元件学习——晶闸管(可控硅)
热门文章
- 在Win10下搭建web服务器,使用本机IP不能访问,但是使用localhos或127.0.0.1可以正常访问的解决办法...
- python 做网页_听过最近Python过气了?
- 微信答题小程序开发遇到过的坑
- 微信小程序在线知识答题有奖多开版源码
- 自动化测试应用---HTML测试报告+邮件发送
- 【django】如何获取字段最大值,最新的记录
- keyshot渲染图文教程_keyshot渲染图文教程,教你如何渲染冰的效果
- CCRC信息安全服务资质认证流程知识点汇总
- Coursera 机器学习 第9章(下) Recommender Systems 学习笔记
- 蔡康永般“好好说话”?百度发起猛攻 推249元小度音箱