网易云信,发送验证码短信C#版代码

网易云信发送短信代码(C# 版)。。。。需要注意SHA1 String有转换小写!!!!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;

namespace HaiMou.Common.SMS
{
    public class NeteaseSms
    {
        static string url = "https://api.netease.im/sms/sendcode.action";
        static string appKey = "************************************";
        static string appSecret = "******";

        public static string Send(string mobile)
        {
            string nonce = new Random().Next(100000, 999999).ToString();
            string curTime = DateTime.Now.ToUnixStamp().ToString();
            string checkSum = SHA1_Hash(appSecret+ nonce+ curTime);

            string post = $"mobile={mobile}";
            byte[] btBodys = Encoding.UTF8.GetBytes(post);

            System.Net.WebRequest wReq = System.Net.WebRequest.Create(url);
            wReq.Method = "POST";
            wReq.Headers.Add("AppKey", appKey);
            wReq.Headers.Add("Nonce", nonce);
            wReq.Headers.Add("CurTime", curTime);
            wReq.Headers.Add("CheckSum", checkSum);
            wReq.ContentLength = btBodys.Length;
            wReq.ContentType = "application/x-www-form-urlencoded;charset=utf-8";

            using (var wsr = wReq.GetRequestStream())
            {
                wsr.Write(btBodys, 0, btBodys.Length);
            }

            System.Net.WebResponse wResp = wReq.GetResponse();
            System.IO.Stream respStream = wResp.GetResponseStream();

            string result;
            using (System.IO.StreamReader reader = new System.IO.StreamReader(respStream,System.Text.Encoding.UTF8))
            {
                result = reader.ReadToEnd();
            }
            //Json数据,obj是网易生成的验证码
            return result;
        }

        private static string SHA1_Hash(string str_sha1_in)
        {
            SHA1 sha1 = new SHA1CryptoServiceProvider();
            byte[] bytes_sha1_in = UTF8Encoding.Default.GetBytes(str_sha1_in);
            byte[] bytes_sha1_out = sha1.ComputeHash(bytes_sha1_in);
            string str_sha1_out = BitConverter.ToString(bytes_sha1_out);
            str_sha1_out = str_sha1_out.Replace("-", "").ToLower();
            return str_sha1_out;
        }

        private static string getFormattedText(byte[] bytes)
        {
            int len = bytes.Length;
            StringBuilder buf = new StringBuilder(len * 2);
            for (int j = 0; j < len; j++)
            {
                buf.Append(HEX_DIGITS[(bytes[j] >> 4) & 0x0f]);
                buf.Append(HEX_DIGITS[bytes[j] & 0x0f]);
            }
            return buf.ToString();
        }

        private static char[] HEX_DIGITS = { ‘0‘, ‘1‘, ‘2‘, ‘3‘, ‘4‘, ‘5‘, ‘6‘, ‘7‘, ‘8‘, ‘9‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘f‘ };
    }
}
时间: 2024-08-06 11:58:38

网易云信,发送验证码短信C#版代码的相关文章

APP、网站等注册、登录、改密等发送验证码短信的接入流程

1.登录 https://zz.253.com/site/login.html 2.获取接口API账号,密码:选择任意产品>激活>企业认证(上传公司营业执照)3.申请签名(以公司简称或缩写命名)备注:平台申请签名,API接口加上申请签名4.模板申请(自定义编辑内容):选择任意应用>短息编辑栏目{模板管理}>添加签名 4.sms_send_demo.php发送短信 sms_queryBalance_demo.php查询短信余额 备注:申请模板可达到短信免审作用 常见问题1.相同号码一

微信小程序发送验证码短信SDK及文档

微信小程序验证码版SDK增加了对短信验证码的管理,开发者无需生成管理验证码,该SDK可直接生成.存储.发送.校验. 官网 SDK下载地址 demo ? 1.安装下载后的SDK只包含一个zhenzisms.js文件,可直接放在utils文件夹中,然后通过require引入,如下: var zhenzisms = require('../../utils/zhenzisms.js');2.配置域名在微信公众平台-小程序管理中配置域名https://smsdeveloper.zhenzikj.com,

验证码---短信验证码

最近自学了短信的验证码实现.以下是自己用的一种方法实现的完整的过程. 短信验证登陆(前端+后台) 1.前端填写手机号以及点击触发,以电话号码为参数调用发送验证登录短信方法并在前端产生随机数存于Seesion 中,将手机号连同产生的随机数发送到后台操作(已经设置好缓存存放时间) 2.调用发送模板短信方法发送短信(设置好短信中验证码有效的时间) 3.点击触发登陆,调用对应验证登录函数 ,以电话号码和验证码为参数 4.校验缓存中对应保留的信息如果一致,登陆成功:登陆不成功是返回原因(1.超时 2.验证

为什么验证码短信成为行业短信主流?

从十年前短信群发行业的兴起,到2010年的短信各路企业的风起云涌,还有媒体对"垃圾短信"的多次曝光,再到2013年底运营商的大刀阔斧的整顿和叫停,时至今日,短信发送业务貌似步入了正轨,同时也随着智能手机移动互联网的快速发展,包括微信和手机安全软件的迅猛普及,人们对手机短信模块的使用变得可有可无,也许好多天都不会去看短信.总之,2014年企业应用级的短信市场总体业务量大不如五年前,至少下滑了60%!      那么,当年的成千上万家的短信公司现在怎么样了呢?据调查了解,那些曾经疯狂揽金的

java实现发送国际短信的功能

由于公司的客户遍布全球,最近会有一些要发送海外的短信的需求,所以今天想说下发送国际短信的功能,接入的手续和一般的短信验证码也差不太多.由于之前已经合作了互亿无线短信平台的短信验证码功能,那么顺理成章看看他们家有没有国际短信,结果对接起来也太方便了,代码也不怎么需要修改,接口改一下好了,很方便,用了个把小时就弄完了,新功能做得飞快,现在送上代码,你们可以参考一下,如果也同样接入互亿无线短信平台的朋友,可以直接用哈哈. ?/*** Created by bingone on 15/12/16.*/ 

JAVA发送手机短信

<p><span>JAVA发送手机短信,流传有几种方法:(1)使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册;(2)使用短信mao的方式进行短信的发送,这种方式应该是比较的常用,前提是需要购买硬件设备,呵呵;</span></p> import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient

ADB 发送中文短信

最近好多朋友说adb 不支持发送中文的短信,也不知道为啥要用adb 来发送短信,昨天想到这个问题,所以修改了一下自己的adb,支持发送中文的短信了. adb shell am start -a android.intent.action.SENDTO -d sms:10086 --es sms_body 中文 下载地址: http://bcs.duapp.com/myandroidtools/AndroidAdb.exe 只公开可执行程序,不公开源代码,喷子们看清楚,不要乱喷. 需要更详细的可以

跟阿根一起学Java Web开发四:邮件发送与短信发送的实现

邮件发送与短信发送常见于用户注册认证以及系统消息提示功能模块,但实现代码过于繁琐:使用JSPGen后,深感其对邮件发送.短信发送的封装让复杂活变得简单很多. 一.基础配置 1.jspgen-config.xml 在框架基础配置文件中,找到mail节点及sms节点,按如下配置: <!-- 邮件服务 --> <mail status="true"> <smtp> <!-- 发送类型(SMTP MX) --> <type>SMTP&

php通过http调用验证码短信接口源码

通过验证码短信http调用接口,您可以很快速的在网站或者app中集成手机号验证功能,该源码只是核心代码,具体可以根据您的实际需求进行扩展. <?php function Post($curlPost,$url){ $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFE