阿里云——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,如非本人操作,请忽略本短信!
相关文章
|
28天前
|
缓存 Kubernetes 网络协议
阿里云DNS常见问题之在手机上使用阿里的私人dns失败如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:
|
1月前
|
运维 监控 JavaScript
JAVA村卫生室、诊所云HIS系统源码 支持医保功能
运维运营分系统 1、系统运维:环境管理、应用管理、菜单管理、接口管理、任务管理、配置管理 2、综合监管:统计监管的医疗机构的综合信息,包括医疗业务量、人员配备量、支付分类占比等。 3、系统运营:机构管理、药品目录管理、用户管理、角色管理、字典管理、模板管理、消息管理、运营配置、售后服务、外部系统。
30 0
|
1月前
|
Java
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
【Java每日一题】— —第二十一题:编程把现实生活的手机事物映射成一个标准类Phone,并定义一个测试类PhoneDemo测试Phone类的功能
36 0
|
1月前
|
安全 Java 数据库连接
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
【Java每日一题】——第四十四题:综合案例:编程模拟智能手机和普通手机功能。
52 0
|
1月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
1月前
|
存储 Java API
Java统计功能
Java统计功能
14 0
|
1月前
|
存储 搜索推荐 Java
Java筛选功能的秘密
Java筛选功能的秘密
12 0
|
1月前
|
存储 算法 安全
Java代码能实现这些隐藏的加密功能
Java代码能实现这些隐藏的加密功能
58 0

热门文章

最新文章