短信验证码(发送短信验证码登录)

╰半夏微凉° 2024-03-16 13:32 212阅读 0赞

实现前台点击发送验证码,然后手机接受到验证码进行验证登录。话不多说直接来一波。
在这里插入图片描述

1、准备工作

首先我们要找到一个平台,例如:腾讯云、榛子云等一些平台。我这边演示的是榛子云。

1、去注册

登录 榛子云
37439f38ad60493da622a93e692b32ea.png
登陆进去后是这个界面,账户余额会有一个,我这里用了就没有了。b0421e8428c3417ab947a2eabd49a3dc.png

2、下载jar包

注册好后我们要去下载这个平台的jar包
在这里插入图片描述

2、编写Java代码

我这里已经编写好了,注意看注释

  1. /**
  2. * 手机号验证--返回一个验证码进行验证
  3. *
  4. * @param phone
  5. * 手机号
  6. */
  7. public String phoneYz(String phone) {
  8. // 实例化
  9. Random rd = new Random();
  10. // 实例化一个一个string数组
  11. String[] strings = new String[] {
  12. "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
  13. "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
  14. "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
  15. "C", "V", "B", "N", "M" };
  16. // 定义一个变量接受
  17. String authCode = "";
  18. //拿到四个手机的0~9 24字母大小写
  19. for (int i = 0; i < 4; i++) {
  20. int sj = rd.nextInt(strings.length);
  21. authCode += strings[sj];
  22. }
  23. // 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
  24. ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");

第一个参数不用管,点二个参数是我的应用里面AppId,第三个参数是AppSecret看下图
在这里插入图片描述

  1. // 用map集合封装
  2. Map<String, Object> params = new HashMap<String, Object>();
  3. // 手机号
  4. params.put("number", phone);
  5. // id
  6. params.put("templateId", "");

这个里面的第一个参数如下图,第二个参数就是对应的id就是下图11659,每个人是不一样的,也可以自己新建模板
在这里插入图片描述

  1. String[] templateParams = new String[2];
  2. // 验证码
  3. templateParams[0] = authCode;
  4. templateParams[1] = "1分钟";//这里一分钟也是可以调的
  5. params.put("templateParams", templateParams);
  6. String result = null;
  7. try {
  8. // 调用方法--把map集合放进去
  9. result = client.send(params);
  10. System.out.println(result);
  11. } catch (Exception e) {
  12. e.printStackTrace();
  13. }
  14. return result;
  15. }

这里的map集合对应的就是模板里面{}里面的
在这里插入图片描述

3、完整代码

  1. /**
  2. * 手机号验证
  3. *
  4. * @param phone
  5. * 手机号
  6. */
  7. public String phoneYz(String phone) {
  8. // 实例化
  9. Random rd = new Random();
  10. // 实例化一个一个string数组
  11. String[] strings = new String[] {
  12. "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
  13. "y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
  14. "Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
  15. "C", "V", "B", "N", "M" };
  16. // 定义一个变量接受
  17. String authCode = "";
  18. for (int i = 0; i < 4; i++) {
  19. int sj = rd.nextInt(strings.length);
  20. authCode += strings[sj];
  21. }
  22. // 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
  23. ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");
  24. // 用map集合封装
  25. Map<String, Object> params = new HashMap<String, Object>();
  26. // 手机号
  27. params.put("number", phone);
  28. // id
  29. params.put("templateId", "");
  30. String[] templateParams = new String[2];
  31. // 验证码
  32. templateParams[0] = authCode;
  33. templateParams[1] = "1分钟";
  34. params.put("templateParams", templateParams);
  35. String result = null;
  36. try {
  37. // 调用方法--把map集合放进去
  38. result = client.send(params);
  39. System.out.println(result);
  40. } catch (Exception e) {
  41. e.printStackTrace();
  42. }
  43. return result;
  44. }

我的分享就到这里 了,希望对你有用,感谢观看!!!

发表评论

表情:
评论列表 (有 0 条评论,212人围观)

还没有评论,来说两句吧...

相关阅读

    相关 极光发送验证

    注意:个人无法使用此功能,因为个人申请使用是不会通过的 流程介绍 > 创建过程详细浏览一遍,文档介绍的很详细 > 之后调用API需要用到的参数有: > APP

    相关 SpringBoot发送验证

    本文章使用的是SpringBoot结合云之讯短信平台,其实什么平台不重要,基本上思路都是差不多的 (发送短信是要实名制认证的,是要钱的,我们新注册的云之讯平台是免费送十元短

    相关 验证---验证

    最近自学了短信的验证码实现。以下是自己用的一种方法实现的完整的过程。 短信验证登陆(前端+后台) 1、前端填写手机号以及点击触发,以电话号码为参数调用发送验证登录短信方法并