通过第三方接口发送短信验证码/短信通知(推荐)

需求:将首次交付密码为公共默认密码的方式改为点击入职功能,用短信方式发送系统自动生成的八位含数字、大小写字母和特殊符号生成的密码。短信发送服务由云通信http://www.yuntongxun.com/提供。

随机密码生成方法:

/**
* 生成随即密码
* @author chao.gao
* @param pwd_len 生成的密码的总长度
* @return 密码的字符串
*/
public static String genRandomNum(int pwd_len) {
// String re="(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&]).{10,}";
String regex = "^(?![0-9]+$)(?![a-zA-Z]+$)[A-Za-z0-9@#$%]{8,16}$";
//35是因为数组是从0开始的,26个字母+10个数字
final int maxNum = 26;
int i; //生成的随机数
int count = 0; //生成的密码的长度
char[] str = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k',
'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w',
'x', 'y', 'z'};
char[] upChar = {'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K',
'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W',
'X', 'Y', 'Z'};
char[] numChar = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
char[] speChar = {'!', '@', '#', '$', '%'};
StringBuffer pwd = new StringBuffer("");
Random r = new Random();
while (count < 2) {
//生成随机数,取绝对值,防止生成负数,
i = Math.abs(r.nextInt(maxNum)); //生成的数最大为36-1
if (i >= 0 && i < str.length) {
pwd.append(str[i]);
count++;
}
}
count=0;
while (count < 2) {
//生成随机数,取绝对值,防止生成负数,
i = Math.abs(r.nextInt(7)); //生成的数最大为7-1
if (i >= 0 && i < upChar.length) {
pwd.append(upChar[i]);
count++;
}
}
count=0;
while (count < 2) {
//生成随机数,取绝对值,防止生成负数,
i = Math.abs(r.nextInt(maxNum)); //生成的数最大为10-1
if (i >= 0 && i < numChar.length) {
pwd.append(numChar[i]);
count++;
}
}
count=0;
while (count < 2) {
//生成随机数,取绝对值,防止生成负数,
i = Math.abs(r.nextInt(maxNum)); //生成的数最大为10-1
if (i >= 0 && i < speChar.length) {
pwd.append(speChar[i]);
count++;
}
}
return pwd.toString();
}

发送短信接口:(jar包见附件)

参考:

https://www.yuntongxun.com/doc/rest/sms/3_2_2_3.html

public class SDKTestSendTemplateSMS {
public static void main(String[] args) {
HashMap<String, Object> result = null;
CCPRestSDK restAPI = new CCPRestSDK();
restAPI.init("app.cloopen.com", "8883");
// 初始化服务器地址和端口,生产环境配置成app.cloopen.com,端口是8883.
restAPI.setAccount("accountSid", "accountToken");
// 初始化主账号名称和主账号令牌,登陆云通讯网站后,可在"控制台-应用"中看到开发者主账号ACCOUNT SID和
主账号令牌AUTH TOKEN。
restAPI.setAppId("AppId");
// 初始化应用ID,如果是在沙盒环境开发,请配置"控制台-应用-测试DEMO"中的APPID。
//如切换到生产环境,请使用自己创建应用的APPID
result = restAPI.sendTemplateSMS("号码1,号码2等","模板Id" ,new String[]{"模板内容1","模板内容2"});
System.out.println("SDKTestGetSubAccounts result=" + result);
if("000000".equals(result.get("statusCode"))){
//正常返回输出data包体信息(map)
HashMap<String,Object> data = (HashMap<String, Object>) result.get("data");
Set<String> keySet = data.keySet();
for(String key:keySet){
Object object = data.get(key);
System.out.println(key +" = "+object);
}
}else{
//异常返回输出错误码和错误信息
System.out.println("错误码=" + result.get("statusCode") +" 错误信息= "+result.get("statusMsg"));
}
}
}

以上所述是小编给大家介绍的通过第三方接口发送短信验证码/短信通知(推荐),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

时间: 2016-08-26

C#代码实现短信验证码接口示例

本文实例为大家分享了C#实现短信验证码接口示例,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net.Security; using System.Security.Cryptography.X509Certificates; using System.Net; using System.IO; using System

ASP.NET(VB)写的后台发送短信实现代码

复制代码 代码如下: Dim postData As String Dim byteArray As Byte() Dim objWebRequest As HttpWebRequest Dim newStream As Stream postData = "cell=短信供应商提供信息1&enterpriseId=短信供应商提供信息2&mobile=手机号1,手机号2&message=发送数据测试..." objWebRequest = WebRequest.

C#怎么实现手机短信发送功能

为了个人信息的安全,很多网站都有短信发送的功能,究竟是怎么实现的呢?对于个人站长来说的话,通过使用SMS短信通API接口相对比较划算和简单.那怎么实现呢,步骤如下: 1. 从网上(http://sms.webchinese.cn/)申请账号,记住用户名,密码会发到手机上,这仅是登陆密码.注册后会送5条短信.和3条彩信的发送量. 2.查看SMS短信通API下行接口(http://sms.webchinese.cn/api.shtml),然后获取秘钥,其实就是加密后的登录密码.开始敲代码,相关代码如

asp.net调用飞信免费发短信(测试有效)

复制代码 代码如下: #region 免费发送飞们接口(2014-01-06 16:20测试有效) /// <summary> /// 免费发送飞们接口(要开通飞信把对方加为好友才能发,也可以给自己发做测试) /// </summary> /// <param name="sendNumber">登陆飞信手机号</param> /// <param name="sendPassword">登陆密码</

java、php、C#、asp实现短信群发功能的方法

本文实例讲述了java.php.C#.asp实现短信群发功能的方法.分享给大家供大家参考.具体如下: 首先去http://www.smschinese.cn/上下载jar包以及注册用户,然后调用api接口,取得秘钥 1. ASP 调用例子 <% '常用函数 '输入url目标网页地址,返回值getHTTPPage是目标网页的html代码 function getHTTPPage(url) dim Http set Http=server.createobject("MSXML2.XMLHTT

阿里大鱼简单发送短信功能.net core版

阿里大鱼还未提供 .net core 版SDK,但提供了相关API,下面是.net core版实现,只是简单发送短信功能: using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Security.Cryptography; using System.Text; using Newtonsoft.Json; namespace ConsoleApp1 { pub

NodeJS实现阿里大鱼短信通知发送

1.说明 阿里大鱼提供了验证码,短信通知,语音等服务,在使用后感觉挺方便,不愧是阿里旗下的产品. 最近想搞个NodeJS发送短信通知的功能,这里没有使用 alidayu-node (开始做的时候并不知道有这个.如果使用alidayu-node那就简单了.),自己整一个签名sign,实现短信发送. 官方的 文档 说明了签名 sign 的生成步骤,不过第三步骤: 3.连接字符串 连接参数名与参数值,并在首尾加上secret 有错误( 首尾加上secret 是错的) 2.代码实现 生成 sign /*

CDMA 猫用AT命令发中文短信(C#)

CDMA猫真是!@#¥#%(*,连PDU都不支持,只能发文本短信.而且发中文短信居然是UNICODE,无法在超级终端里输入.只能写程序. 网上这个问题谈论地比较多,做起来比较累,还偶尔会出乱码.还是将C#的成功代码帖一下吧. 转载请注明来源 复制代码 代码如下: void SendCHNSms(string content,string phone) { //中文CDMA发送,UNICODE编码字节 byte[] b = Encoding.BigEndianUnicode.GetBytes(co

ASP.NET MVC阿里大于短信接口开发短信群发能

互联网上有许多公司提供短信接口服务,诸如网易云信.阿里大于等等.我在自己项目里需要使用到短信服务起到通知作用,实际开发周期三天,完成配置.开发和使用,总的说,阿里大于提供的接口易于开发,非常的方便,短信费用是计数缴纳的,作为个人开发者,我使用的服务业务产生的费用为0.045¥/条(10万条以下). 现在要实现一个例会短信群发通知的功能,所有被通知对象信息均存于Mysql中,应用架构采用asp.net MVC .首先准备好获取的API各项(以下各项服务参数都需要在大于官网上申请), 申请好自己的短

android中可以通过两种方式调用接口发送短信

第一:调用系统短信接口直接发送短信:主要代码如下: 复制代码 代码如下: //直接调用短信接口发短信 SmsManager smsManager = SmsManager.getDefault(); List<String> divideContents = smsManager.divideMessage(content); for (String text : divideContents) { smsManager.sendTextMessage("150xxxxxxxx&qu

阿里大于短信验证码node koa2的实现代码(最新)

今天给大家分享一下最新版阿里大于的短信验证码在node koa2的实现,还是有很多坑需要注意. 首先需要在阿里云注册账号,并获取阿里云访问秘钥,在控制台完成模板与签名的申请获得调用接口的必备参数.具体方法参见短信发送api 步骤一:安装npm包 npm install @alicloud/sms-sdk --save 步骤二:代码实现.常见一个sendmsg.js的controller /** * 引用sdk */ const SMSClient = require('@alicloud/sms

thinkPHP3.2.3实现阿里大于短信验证的方法

注册并登录阿里云 点击控制台后–>鼠标滑到你的用户名称(右边倒数第二个)–>点击accesskeys–>获取 点击控制台后–>产品与服务–>云计算基础服务–>云通信–>短信服务 如果没有送测试短信签名和模板–>添加签名–>添加模板 下载SDK https://help.aliyun.com/document_detail/55359.html?spm=5176.doc55451.6.569.0uXt4J 进入后选择PHP,会得到dysmsapi_dem

php与阿里云短信接口接入操作案例分析

本文实例讲述了php与阿里云短信接口接入操作.分享给大家供大家参考,具体如下: 使用阿里云短信API,需要在控制台获取以下必要参数,其中需要自己手机验证+官方审核多次,尤其审核需要保持耐心. 1. accessKeyId  相当于你的个人账户密钥: 2. accessKeySecret 与上是成对的: 3. SignName  个人签名,在发出去的短信中,这个签名会显示在开头,类似 [签名]亲爱的用户...... 这种格式,SignName需要通过提交审核: 4.TemplateCode  模板

php版阿里大于(阿里大鱼)短信发送实例详解

本文实例讲述了php版阿里大于(阿里大鱼)短信发送实现方法.分享给大家供大家参考,具体如下: 通用函数 // 发送大于短信 更牛逼的 protected function sendDayuSmsPlus($tel,$type,$data) { $dayu_template = 'dayu_template_'.$type; $signname = C($dayu_template.".signname"); $templatecode = C($dayu_template."

通过sails和阿里大于实现短信验证

通过sails与阿里大于来实现注册短信验证码的发送,逻辑图如下 1.用户在客户端发送手机号给服务器,服务器接收到手机号,生成对应时间戳,随机四位数验证码 2.服务器将电话号码和验证码告诉阿里大于服务器,阿里大于服务器将验证码发送到对应手机 3.服务器将接受到的手机号,时间戳,验证码,与服务器秘钥(为了增加秘钥破解难度,提高安全)通过md5加密生成token,并且将token与时间戳发送到前端 4.前端接收到短信,输入验证码后,再把验证码,手机号,接收到的token1和时间戳发送到服务器进行验证

NodeJS 实现手机短信验证模块阿里大于功能

1,NodeJS 安装阿里大于模块 切换到项目目录使用npm 安装阿里于模块 npm i node-alidayu --save 2,aliyu官网使用淘宝账户登录 登录阿里大于 https://doc.alidayu.com/doc2/index.htm 1登录后点击管理中心 2点击应用管理===>创建应用 3配置管理===>验证码====>里添加短信签名 4应用列表里===>操作一栏===>点击设置    记住 app   key 和 APP  sercret 5.后台代

SpringBoot实现阿里云短信接口对接的示例代码

前言 公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API.网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题,不知道其他的攻城狮们是不是和我一样的心里,刚接触个没做过的任务时,会一脸懵里的着急,无从下手的感觉,后来会了,就觉得简单的一*,在这里我说一下自己的体会,遇到任何难点,先理思路.任务拆分.逐个查资料,其实一套下来,就不会那种一脸懵逼的干着急... 所需条件 1.阿里云账户 2.开通云通讯中的短信服务 3.申请短信签名

Java实现阿里云短信接口的示例

阿里云短信服务接口 阿里云短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力. 支持向国内和国际快速发送验证码.短信通知和推广短信,服务范围覆盖全球200多个国家和地区.国内短信支持三网合一专属通道,与工信部携号转网平台实时互联.电信级运维保障,实时监控自动切换,到达率高达99%.完美支撑双11期间20亿短信发送,6亿用户触达. 快速开发 ①开启短信服务 1)登陆阿里云服务平台 2)选择控制台 3)点击左上角下拉按钮选择短信服务 4)开通短信服务 ②实名