在我们生活中,使用的各种各样的网站、APP在登录、注册、支付、修改密码等需要进行安全验证的地方都要进行短信的验证。
阿里云、腾讯云、华为云......很多平台都提供有短信服务
在这里我们选择国内短信,然后需要添加签名
输入签名名称,签名为发送的验证码的前缀,场景选择验证码,但是验证码这里个人用户只能申请一次。上传需要的东西,填写申请说明,等待审核就行了
因为发送短信并不是免费的,需要保证你的账号里有余额。
在快速学习中,点击查看API Demo
填入信息,点击发起调用即可进行测试
测试成功的话, 后面我们只需要将示例代码复制到我们的程序程序代码中即可
我们首先需要在maven项目中引入阿里云的sdk
<!-- 阿里云sdk --> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.4.6</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-ecs</artifactId> <version>4.17.6</version> </dependency>
AccessKey
public void sendCode(String phone, Users users){ String accessKeyId=""; String accessSecret=""; //<accessKeyId>", "<accessSecret> DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessSecret); IAcsClient client = new DefaultAcsClient(profile); CommonRequest request = new CommonRequest(); request.setSysMethod(MethodType.POST); request.setSysDomain("dysmsapi.aliyuncs.com"); request.setSysVersion("2017-05-25"); request.setSysAction("SendSms"); request.putQueryParameter("RegionId", "cn-hangzhou"); request.putQueryParameter("PhoneNumbers", phone); request.putQueryParameter("SignName", "***"); request.putQueryParameter("TemplateCode", "*******"); //随机生成验证码 String verifyCode = String.valueOf(new Random().nextInt(899999) + 100000);//生成短信验证码 request.putQueryParameter("TemplateParam", "{\"code\":"+verifyCode+"}"); try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); } catch (ServerException e) { e.printStackTrace(); } catch (ClientException e) { e.printStackTrace(); } } `
可以根据自己的需求决定怎么存储验证码
用户输入验证码后,将用户输入的和自己存储的进行比较,看是否相同
原文链接:https://www.cnblogs.com/bweb001/p/12960363.html