阿里云——Java实现手机短信验证码功能

简介: 通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。

如何实现短信验证码功能

1.准备工作

1.1 注册 阿里云 账号,并完成实名认证。找到短信服务功能。

在这里插入图片描述

1.2 开通短信服务

在这里插入图片描述

1.3 签名与模板

在这里插入图片描述

阿里云不支持个人申请签名和模板,这里可以不申请,可以先使用阿里云提供的免费的测试签名与模板

1.4 获取AccessKey

在这里插入图片描述
在这里插入图片描述

  • 生成AccessKey

在这里插入图片描述

  • 查看Secret,得到 AccessKey IDAccessKey Secret(后面会用到)

在这里插入图片描述

1.5 打开短信控制台,通过API测试功能

  • 打开快速学习页面,点击API发送测试按钮
  • 单击绑定测试手机号,在对话框输入接收测试短信的手机号和获取的验证码

在这里插入图片描述

  • 点击调用API发送短信

在这里插入图片描述

  • 点击发起调用,将通过该平台直接调用发送接口发送短信

在这里插入图片描述

  • 这时手机就会收到测试短信

2.Java SDK 示例

2.1 添加maven依赖

  • 官方提供的版本

在这里插入图片描述

  • 创建一个maven项目,将下面代码添加到pom.xml文件中
<dependency>
  <groupId>com.aliyun</groupId>
  <artifactId>dysmsapi20170525</artifactId>
  <version>2.0.9</version>
</dependency>

2.2 阿里云官方配置

  • 创建一个Sample 类
  • 复制官方提供的代码,进行一些修改,如下:
// This file is auto-generated, don't edit it. Thanks.

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.tea.*;
import com.aliyun.dysmsapi20170525.*;
import com.aliyun.dysmsapi20170525.models.*;
import com.aliyun.teaopenapi.*;
import com.aliyun.teaopenapi.models.*;

public class Sample {

    public static void main(String[] args_) throws Exception {
        Config config = new Config()
                //这里修改为我们上面生成自己的AccessKey ID
                .setAccessKeyId("LTAI5tLdwwPpCrJbzMdTdQ7")
             
                //这里修改为我们上面生成自己的AccessKey Secret
                .setAccessKeySecret("jnP9no9KhtsE4kVbqbV40JKCksCqy3");
        // 访问的域名
        config.endpoint = "dysmsapi.aliyuncs.com";
        Client client = new Client(config);
        SendSmsRequest sendSmsRequest = new SendSmsRequest()
                .setSignName("阿里云短信测试")//短信签名
                .setTemplateCode("SMS_154950909")//短信模板
                .setPhoneNumbers("157xxxxxxxx")//这里填写接受短信的手机号码
                .setTemplateParam("{\"code\":\"1234\"}");//验证码
        // 复制代码运行请自行打印 API 的返回值
        client.sendSms(sendSmsRequest);
    }
}
运行此代码,就会收到如下的短信:
【阿里云短信测试】您正在使用阿里云短信测试服务,体验验证码是:1234,如非本人操作,请忽略本短信!
相关文章
|
4月前
|
数据采集 监控 安全
阿里云短信服务+图形认证,有效降低验证码盗刷概率
阿里云短信服务+图形认证服务,有效降低验证码盗刷概率。
364 3
阿里云短信服务+图形认证,有效降低验证码盗刷概率
|
3月前
Discuz! X3.5插件云诺-阿里云短信手机登录 会员登录后也无法查看附件图片的问题解决方法
Discuz! X3.5插件云诺-阿里云短信手机登录 会员登录后也无法查看附件图片的问题解决方法
43 2
|
7月前
|
存储 小程序 前端开发
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
【微信小程序 - 工作实战分享】1.微信小程序发送手机短信验证码(阿里云)
574 0
|
3月前
|
前端开发 小程序 Java
java基础:map遍历使用;java使用 Patten 和Matches 进行正则匹配;后端传到前端展示图片三种情况,并保存到手机
这篇文章介绍了Java中Map的遍历方法、使用Pattern和matches进行正则表达式匹配,以及后端向前端传输图片并保存到手机的三种情况。
33 1
|
3月前
|
运维 监控 搜索推荐
阿里大鱼进行发短信业务---使用详细步骤-Java操作
这篇文章详细介绍了如何在Java中使用阿里大鱼服务来发送短信,包括开通短信服务、签名和模板管理,以及具体的Java开发步骤和代码示例。
122 0
阿里大鱼进行发短信业务---使用详细步骤-Java操作
|
4月前
|
移动开发 Android开发 数据安全/隐私保护
移动应用与系统的技术演进:从开发到操作系统的全景解析随着智能手机和平板电脑的普及,移动应用(App)已成为人们日常生活中不可或缺的一部分。无论是社交、娱乐、购物还是办公,移动应用都扮演着重要的角色。而支撑这些应用运行的,正是功能强大且复杂的移动操作系统。本文将深入探讨移动应用的开发过程及其背后的操作系统机制,揭示这一领域的技术演进。
本文旨在提供关于移动应用与系统技术的全面概述,涵盖移动应用的开发生命周期、主要移动操作系统的特点以及它们之间的竞争关系。我们将探讨如何高效地开发移动应用,并分析iOS和Android两大主流操作系统的技术优势与局限。同时,本文还将讨论跨平台解决方案的兴起及其对移动开发领域的影响。通过这篇技术性文章,读者将获得对移动应用开发及操作系统深层理解的钥匙。
115 12
|
4月前
|
存储 JSON 前端开发
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
本文介绍了在Node.js中使用token实现前端验证码和登录功能的详细流程,包括生成验证码、账号密码验证以及token验证和过期处理。
71 0
node使用token来实现前端验证码和登录功能详细流程[供参考]=‘很值得‘
|
5月前
|
SQL 前端开发 NoSQL
SpringBoot+Vue 实现图片验证码功能需求
这篇文章介绍了如何在SpringBoot+Vue项目中实现图片验证码功能,包括后端生成与校验验证码的方法以及前端展示验证码的实现步骤。
SpringBoot+Vue 实现图片验证码功能需求
|
5月前
|
数据采集 存储 监控
99%成功率背后:阿里云短信服务有何优势?
为什么短信会发送失败,如何提高短信发送成功率,本文将为您介绍短信发送成功率和阿里云短信服务如何保障企业短信稳定送达等相关知识。
230 1
99%成功率背后:阿里云短信服务有何优势?
|
4月前
|
存储 NoSQL Java