主页 > 创业  > 

Java短信验证功能简单使用

Java短信验证功能简单使用

注册登录阿里云官网: .aliyun /

搜索短信服务

自己一步步申请就可以了

开发文档: next.api.aliyun /api-tools/sdk/Dysmsapi?version=2017-05-25&language=java-tea&tab=primer-doc

1.引入依赖

<dependency> <groupId>com.aliyun</groupId> <artifactId>dysmsapi20170525</artifactId> <version>3.1.1</version> </dependency>

2.短信代码

package com.mc.sms.utils; import com.aliyun.tea.*; import java.util.Random; /** * 此处有两个方法 * 1.生成随机六位数的验证码 * 2.发送验证码 * @author 灯塔 * @date: 2024/09/26 18:19 * @version 1.0.0 */ public class SendCodeUtils { private static String ALIBABA_CLOUD_ACCESS_KEY_ID = "你的AccessKey"; private static String ALIBABA_CLOUD_ACCESS_KEY_SECRET = "你的 AccessKey Secret"; private static String SignName = "签名名称"; private static String TemplateCode = "模板code"; /** * 生成随机的六位验证码 * @return String */ public static String generateVerificationCode() { // 设置验证码长度为6 int length = 6; // 验证码字符集 String digits = "0123456789"; Random random = new Random(); StringBuilder sb = new StringBuilder(); // 生成六位数验证码 for (int i = 0; i < length; i++) { int index = random.nextInt(digits.length()); sb.append(digits.charAt(index)); } return sb.toString(); } /** * 使用AK&amp;SK初始化账号Client * @return * @type com.aliyun.dysmsapi20170525.Client * @throws Exception */ public static com.aliyun.dysmsapi20170525.Client createClient() throws Exception { com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config() .setAccessKeyId(ALIBABA_CLOUD_ACCESS_KEY_ID) .setAccessKeySecret(ALIBABA_CLOUD_ACCESS_KEY_SECRET); config.endpoint = "dysmsapi.aliyuncs "; return new com.aliyun.dysmsapi20170525.Client(config); } /** * * @param phoneNumber * @param verificationCode * @return String * @throws Exception */ public static String verify(String phoneNumber, String verificationCode) throws Exception { com.aliyun.dysmsapi20170525.Client client = SendCodeUtils.createClient(); com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest() .setPhoneNumbers(phoneNumber) .setSignName(SignName) .setTemplateCode(TemplateCode) .setTemplateParam("{\"code\":\"" + verificationCode + "\"}"); try { // 复制代码运行请自行打印 API 的返回值 client.sendSmsWithOptions(sendSmsRequest, new com.aliyun.teautil.models.RuntimeOptions()); return verificationCode; } catch (TeaException error) { // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 // 错误 message System.out.println(error.getMessage()); // 诊断地址 System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); return null; } catch (Exception _error) { TeaException error = new TeaException(_error.getMessage(), _error); // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。 // 错误 message System.out.println(error.getMessage()); // 诊断地址 System.out.println(error.getData().get("Recommend")); com.aliyun.teautil.Common.assertAsString(error.message); return null; } } }

3.测试

@RestController @RequestMapping("/sms") public class SmsController { @RequestMapping("/sendSms") public R SendSMS() throws Exception { String code = SendCodeUtils.generateVerificationCode(); String phoneNumber = "18618372228"; String verify = SendCodeUtils.verify(phoneNumber, code); System.out.println(verify); return R.ok().data(verify); } }
标签:

Java短信验证功能简单使用由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java短信验证功能简单使用