首页 > 代码库 > 网易云信,发送验证码短信C#版代码
网易云信,发送验证码短信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‘ }; }}
网易云信,发送验证码短信C#版代码
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。