(短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码

本文涉及的产品
短信服务,200条 3个月
短信服务,100条 3个月
简介: (短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码

一.阿里云准备工作

1.阿里云短信服务-注册账号

阿里云官网: https://www.aliyun.com/

点击官网首页注册按钮。

2.阿里云短信服务-设置短信签名(阿里云提供测试的签名,暂时可以跳过)

注册成功后,点击登录按钮进行登录。登录后进入短信服务管理页面,选择国内消息菜单:

短信签名是短信发送者的署名,表示发送方的身份。

3.阿里云短信服务-设置短信模板(阿里云提供测试的模板,暂时可以跳过)

切换到【模板管理】标签页:

短信模板包含短信发送内容、场景、变量信息。

4.阿里云短信服务-设置AccessKey

光标移动到用户头像上,在弹出的窗口中点击【AccessKey管理】∶

二、 代码开发

1.导入maven坐标

<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>aliyun-java-sdk-core</artifactId>
  <version>4.5.16</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
    <version>1.1.0</version>
</dependency>

2.封装发送短信工具类

public class SMSUtils {
  /**
   * 发送短信
   * @param signName 签名
   * @param templateCode 模板
   * @param phoneNumbers 手机号
   * @param param 参数
   */
  public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){
    DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的accessKeyId", "你的secret");
    IAcsClient client = new DefaultAcsClient(profile);
    SendSmsRequest request = new SendSmsRequest();
    request.setSysRegionId("cn-hangzhou");
    request.setPhoneNumbers(phoneNumbers);
    request.setSignName(signName);
    request.setTemplateCode(templateCode);
    request.setTemplateParam("{\"code\":\""+param+"\"}");
    try {
      SendSmsResponse response = client.getAcsResponse(request);
      System.out.println("短信发送成功");
    }catch (ClientException e) {
      e.printStackTrace();
    }
  }
}

3.调用发送验证码

/**
   * 发送短信
   * @param signName 签名
   * @param templateCode 模板
   * @param phoneNumbers 手机号
   * @param param 参数
   */
SMSUtils.sendMessage("阿里云短信测试", "SMS_154950909", "17303320963", "1234");

注意:

因为如果自定义签名或者模板的话,需要申请,所以阿里云提供了可以测试的签名和模板

4.到这里验证码已经可以发送了

三、扩展(生成验证码与上面的调用方法配合使用)

1.封装随机生成验证码的工具类

public class ValidateCodeUtils {
    /**
     * 随机生成验证码
     * @param length 长度为4位或者6位
     * @return
     */
    public static Integer generateValidateCode(int length){
        Integer code =null;
        if(length == 4){
            code = new Random().nextInt(9999);//生成随机数,最大为9999
            if(code < 1000){
                code = code + 1000;//保证随机数为4位数字
            }
        }else if(length == 6){
            code = new Random().nextInt(999999);//生成随机数,最大为999999
            if(code < 100000){
                code = code + 100000;//保证随机数为6位数字
            }
        }else{
            throw new RuntimeException("只能生成4位或6位数字验证码");
        }
        return code;
    }
    /**
     * 随机生成指定长度字符串验证码
     * @param length 长度
     * @return
     */
    public static String generateValidateCode4String(int length){
        Random rdm = new Random();
        String hash1 = Integer.toHexString(rdm.nextInt());
        String capstr = hash1.substring(0, length);
        return capstr;
    }
}
目录
相关文章
|
6月前
|
JavaScript 前端开发 Java
基于springboot的手机销售网站
本研究聚焦手机商城系统的发展现状与趋势,探讨其技术架构、用户行为分析及安全支付等问题,结合Java、Vue、MySQL等技术实现高效、安全的移动端电商平台,推动行业创新与融合发展。
|
机器学习/深度学习 人工智能 NoSQL
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
随着大模型的越来越盛行,现在很多企业开始接入大模型的接口,今天我从java开发角度来写一个demo的示例,用于接入DeepSeek大模型,国内的大模型有很多的接入渠道,今天主要介绍下阿里云的百炼模型,因为这个模型是免费的,只要注册一个账户,就会免费送百万的token进行学习,今天就从一个简单的可以执行的示例开始进行介绍,希望可以分享给各位正在学习的同学们。
2246 3
JAVA接入DeepSeek大模型接口开发---阿里云的百炼模型
|
人工智能 安全 搜索推荐
阿里云采购季:短信服务低至 0.01 元/条!
阿里云“上云采购季”,短信服务低至 0.01 元/条
475 3
|
Arthas 监控 Java
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
628 0
|
自然语言处理 监控 安全
2025年阿里云短信验证码价格多少钱?计费模式与场景选型指南
随着企业数字化转型,短信验证码作为用户身份验证的重要工具,其成本与效率的平衡至关重要。阿里云短信服务以高可靠性、灵活计费和多场景适配著称。按量付费模式适合需求波动大的场景,而短信套餐包则为长期稳定需求提供了成本优势。针对不同业务场景,如高频验证、跨境业务及中小型企业轻量级需求,阿里云提供了定制化的选型策略。此外,通过阶梯定价、防盗刷监控等措施实现成本优化与风险规避,并不断进行技术升级以确保服务的安全性和稳定性。根据2025年最新数据,企业可根据自身需求选择最适合的阿里云短信验证码服务方案。
|
消息中间件 API 开发工具
实时获取短信发送状态,这个功能别错过!|阿里云短信服务
短信回执可以让你对每一次短信的审核和送达状态了如指掌,怎么样才能摆脱“状态轮询”,实时获取各种状态呢?
2183 17
|
安全 小程序
如何使用控制台群发短信 | 阿里云短信服务
操作指南|通过控制台群发短信
1276 14
|
Arthas 监控 Java
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
本文介绍了阿里云 Java Agent 4.x 版本在基于 OTel Java Agent 二次开发过程中的实践与思考,并重点从功能、性能、稳定性、兼容性四个方面介绍了所做的工作。同时也介绍了阿里云可观测团队积极参与开源建设取得的丰厚成果。
1414 112
拥抱 OpenTelemetry:阿里云 Java Agent 演进实践
|
安全 Java API
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)
阿里云短信服务提供API/SDK和控制台调用方式,支持验证码、通知、推广等短信类型。需先注册阿里云账号并实名认证,然后在短信服务控制台申请资质、签名和模板,并创建AccessKey。最后通过Maven引入依赖,使用工具类发送短信验证码。
7458 3
【三方服务集成】最新版 | 阿里云短信服务SMS使用教程(包含支持单双参数模板的工具类,拿来即用!)

热门文章

最新文章

下一篇
开通oss服务