如何实现短信验证码功能
1.准备工作
1.1 注册 阿里云 账号,并完成实名认证。找到短信服务功能。
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/21d88cbe143a41bd83b8bf40f6ccf4e4.png?x-oss-process=image/resize,w_1400/format,webp)
1.2 开通短信服务
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/9277e6c13633481aa52204e6b18707c4.png?x-oss-process=image/resize,w_1400/format,webp)
1.3 签名与模板
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/b400b4c274b64f1f8af86f3b539c6938.png?x-oss-process=image/resize,w_1400/format,webp)
阿里云不支持个人申请签名和模板,这里可以不申请,可以先使用阿里云提供的免费的测试签名与模板
1.4 获取AccessKey
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/7dc0d5587505443bbc95ace965f38a2a.png?x-oss-process=image/resize,w_1400/format,webp)
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/8b1fae2ac0d645df9b6cd977abbca259.png?x-oss-process=image/resize,w_1400/format,webp)
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/1d4c8dd6af7642efaccc92a6f552c47a.png?x-oss-process=image/resize,w_1400/format,webp)
- 查看Secret,得到 AccessKey ID 与 AccessKey Secret(后面会用到)
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/e453b53de7f24389bacfc307c665f8c2.png?x-oss-process=image/resize,w_1400/format,webp)
1.5 打开短信控制台,通过API测试功能
- 打开快速学习页面,点击API发送测试按钮
- 单击绑定测试手机号,在对话框输入接收测试短信的手机号和获取的验证码
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/f57f259df0bf451db1bdf68c788c640f.png?x-oss-process=image/resize,w_1400/format,webp)
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/bb12fc83b44c4b6396fe1a8e710500ca.png?x-oss-process=image/resize,w_1400/format,webp)
- 点击发起调用,将通过该平台直接调用发送接口发送短信
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/a8d7ec5eed3c40dcb272b19a8a7012d1.png?x-oss-process=image/resize,w_1400/format,webp)
2.Java SDK 示例
2.1 添加maven依赖
![在这里插入图片描述 在这里插入图片描述](https://ucc.alicdn.com/images/user-upload-01/2ba93c75b26b4ac5acf4700cc4094d5b.png?x-oss-process=image/resize,w_1400/format,webp)
- 创建一个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,如非本人操作,请忽略本短信!