阿里云短信验证码开发

准备

首先需要在阿里云上开通短信服务,然后在AccessKey里面

设置用户和用户组,并把用户加入到用户组里面

然后创建一个key

密码一定要事先记住,后面是不会在显示密码的

然后在用户组里面添加短信权限管理

再去短信服务里面添加签名和模板

一定要注意用词,不然阿里不会通过的

到这里所需阿里的东西都差不多准备好了,在快速学习里面有一个查看demo,可以看到开发例子

开发

新建service

@Service
public class MessageServiceImpl implements MessageService {@Override //phoneNumbers 电话号码  templateCode 模板code  code 放的验证码public boolean sendMessage(String phoneNumbers, String templateCode, Map<String, Object> code) {//连接阿里云DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "{AccessKey}", "{AccessKeyPassword}");IAcsClient client = new DefaultAcsClient(profile);//构建请求CommonRequest request = new CommonRequest();request.setSysMethod(MethodType.POST);request.setSysDomain("dysmsapi.aliyuncs.com");  //不能动request.setSysVersion("2017-05-25");  //不能动request.setSysAction("SendSms");//自定义参数(手机号,验证码,签名,模板)request.putQueryParameter("PhoneNumbers", phoneNumbers);request.putQueryParameter("SignName", "{注册的签名}");request.putQueryParameter("TemplateCode", templateCode);//    构建一个短信验证码
//    Map map=new HashMap();
//    map.put("code",1212);request.putQueryParameter("TemplateParam", JSONObject.toJSONString(code));try {CommonResponse response = client.getCommonResponse(request);return response.getHttpResponse().isSuccess();} catch (ServerException e) {e.printStackTrace();} catch (ClientException e) {e.printStackTrace();}return false;}
}

新建controller调用service

@RestController
public class SendMessageController {@Autowiredprivate MessageService messageService;@Autowiredprivate RedisTemplate<String, String> redisTemplate;@GetMapping("/sendMessage/{phoneNumbers}")public String sendMessage(@PathVariable("phoneNumbers") String phoneNumbers) {//判断手机号验证码是否过期String code = redisTemplate.opsForValue().get(phoneNumbers);if (!StringUtils.isEmpty(code)) {return phoneNumbers + ":" + code + "已存在,还没有过期";}//生成验证码code = UUID.randomUUID().toString().substring(0, 4);Map<String, Object> map = new HashMap();map.put("code", code);boolean isSend = messageService.sendMessage(phoneNumbers, "{模板code}", map);if (isSend) {redisTemplate.opsForValue().set(phoneNumbers, code, 5, TimeUnit.MINUTES);return phoneNumbers + ":" + code + "发送成功";} else {return phoneNumbers + ":" + code + "发送失败";}}
}

前端调用后手机就会收到验证码了

阿里云短信验证码开发相关推荐

  1. C# ASP.NET MVC 阿里云短信验证码Demo

    相信大家在开发过程中又很多使用到验证码验证的功能,今天将验证码的验证整理一下写了一个Demo 通过本篇后你能学习到: 阿里云短信服务 Drapper连接SQL Server进行增改操作 JS前端倒计时 ...

  2. nodejs实现阿里云短信验证码

    nodejs实现阿里云短信验证码 事先准备 1.开通阿里云短信服务 2.获取 AccessKey 代码编写 事先准备 1.开通阿里云短信服务 1⃣️登陆阿里云,然后进入到 https://dysms. ...

  3. 使用阿里云短信验证码API发送短信验证码(配置,获取短信验证码,注册,登录,密码重置)

    获取阿里云短信验证码需要的配置信息. 如果是新用户,可以免费领取3个月,老用户的话就只能购买了,但是也不贵. 申请短信签名 申请短信模板 编写发送短信验证码的工具类 代码中我已经进行了详细的注释,也写 ...

  4. 阿里云短信验证码实战

    一.创建阿里云短信权限用户 1.登陆阿里云之后我们点击头像,接着点击AccessKey: 2.选择开始使用子用户 : 3.我们先要创建一个用户组: 4.依次点击新建的用户组--授权管理,给用户组授权, ...

  5. 【阿里云短信验证码】麻瓜教程~~~从注册---申请---代码---执行

    阿里云短信验证码 当然啦,学习任何东西第一步就是去注册当前网站的账号. 阿里云的官网:https://www.aliyun.com/?utm_content=se_1008364713 ◆[1.先注册 ...

  6. springboot 使用shiro集成阿里云短信验证码

    目录 1.阿里云短信验证码服务 2.发送短信验证码 3.shiro配置多个realm 4.验证短信验证码 5.一些修改思路 引言:短信验证码是通过发送验证码到手机的一种有效的验证码系统,主要用于验证用 ...

  7. Thinkphp3.2开发阿里云短信验证码

    之前一直使用的是创蓝253的短信验证码,开发起来比较方便,不想阿里云这么复杂.有兴趣的同学可以去看一下创蓝253的短信验证码(https://www.253.com). 今天主要说一下阿里云的短信验证 ...

  8. 阿里云短信验证码的坑.....

    阿里云短信的坑 博主在集成阿里云短信的时候发生了此问题: 明明生成6位数字的验证码结果,通过阿里云短信发送出来有时只有5位. 解决办法也很简单我就直接贴代码,说原因了. 原因是: 问题原因:因为我返回 ...

  9. 阿里云短信接口开发实践(Java)

    随着互联网的兴起,各行各业的需求都在不断的增加.随着业务的扩大,企业给用户发送短信验证码的业务,也是如火如荼.在这里,calvin给各位开发者推荐阿里云短信平台.原因有二:1.接入较简单,开发成本低 ...

  10. 短信验证--阿里云短信验证码接口

    前言 公司最近项目需要一个手机验证码的功能,任务确定后,倍感亚历山大,以为和第三方对接的都好麻烦,查阿里的API.网上大神写的博客,各种查之后才发现,简单的一塌糊涂,这里想说个问题,不知道其他的攻城狮 ...

最新文章

  1. Web安全学习笔记——SQL注入
  2. docker inspect 获取 容器 镜像 元数据 简介
  3. mybatis自动扫描注解
  4. 老生常谈.优化linux内核参数
  5. C学习杂记(五)形参实参笔试题
  6. datastage java_使用 DataStage Java Integration Stage 和 Java Pack 从 Excel 源文件中
  7. maven使用中央仓库没有的jar包001---Maven自定义上传第三方包到3rd party(第三方无依赖jar和本地扩展类加入maven统一管理)
  8. Apache 软件基金会:顶级项目仍使用老旧软件,补丁作用被削弱
  9. Hyperledger Fabric chaincode 开发(疑难解答)
  10. 用函数指针控制排序的顺序
  11. ACL 2021 | 如何利用DialoGPT辅助对话摘要任务?
  12. 常用正则表达式 (转)
  13. JAVA调起clearcase_Rational ClearCase和Rational ClearQuest对Java API的支持
  14. 几何求交(一):直线和直线的交点
  15. matlab hurst代码,Hurst指数法matlab程序求助
  16. NTFS - 系统解析
  17. 【虚幻4】连接数据库有感
  18. 事业单位考试计算机专业知识题库,计算机考试题库:计算机考试模拟练习题(201)...
  19. 我是如何从流水线工人到程序员?(2008-2018)
  20. 易企秀 伪静态 linux,最新仿易企秀V15.1完整版开源版源码分享,修复采集功能,新增同行站模板采集功能等等...

热门文章

  1. 华硕ARMOURY CRATE奥创安装/风扇快捷键问题
  2. 曾经的百度开源呼叫中心
  3. java 正则 连续换行_Java正则表达式匹配回车换行多行
  4. 西门子atch指令详解_西门子plc指令含义大全详解
  5. 建模与计算机应用,数学建模与计算机应用竞赛.doc
  6. 二元函数对xy同时求导_2020.5.6 | 考研数学—多元函数微分学重要考点攻克
  7. jmeter压测学习15-setUp线程组实现用户先登录
  8. RT1021使用RTS引脚控制RS485芯片收发使能
  9. dell服务器自动部署,教你DELL服务器提高电源的转化效率,最高效的方式进行电源管理...
  10. 通关!游戏设计之道的学习笔记(七)关卡设计