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

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

1、准备工作

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

1、去注册

登录 榛子云

登陆进去后是这个界面,账户余额会有一个,我这里用了就没有了。

2、下载jar包

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

2、编写Java代码

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

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

		// 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
		ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");

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

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

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

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

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

3、完整代码

/**
	 * 手机号验证
	 * 
	 * @param phone
	 *            手机号
	 */
	public String phoneYz(String phone) {
		// 实例化
		Random rd = new Random();
		// 实例化一个一个string数组
		String[] strings = new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "q", "w", "e", "r", "t",
				"y", "u", "i", "o", "p", "a", "s", "d", "f", "g", "h", "j", "k", "l", "z", "x", "c", "v", "b", "n", "m",
				"Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P", "A", "S", "D", "F", "G", "H", "J", "K", "L", "Z", "X",
				"C", "V", "B", "N", "M" };
		// 定义一个变量接受
		String authCode = "";
		for (int i = 0; i < 4; i++) {
			int sj = rd.nextInt(strings.length);
			authCode += strings[sj];
		}

		// 第一个参数是固定的,第二个参数是你的AppId,第三个参数是你的AppSecret
		ZhenziSmsClient client = new ZhenziSmsClient("https://sms_developer.zhenzikj.com", "","");
		// 用map集合封装
		Map<String, Object> params = new HashMap<String, Object>();
		// 手机号
		params.put("number", phone);
		// id
		params.put("templateId", "");
		String[] templateParams = new String[2];
		// 验证码
		templateParams[0] = authCode;
		templateParams[1] = "1分钟";
		params.put("templateParams", templateParams);
		String result = null;
		try {
			// 调用方法--把map集合放进去
			result = client.send(params);
			System.out.println(result);
		} catch (Exception e) {
			e.printStackTrace();
		}
		return result;
	}

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
验证登录是一种通过发送验证码来验证用户身份的登录方式。具体实现的思路如下: 1. 用户在登录页面输入手机号码,并点击发送验证码按钮。 2. 后台接收到手机号码后,生成一个随机的验证码,并将验证发送到用户的手机上。 3. 后台将生成的验证码存储在session中,以便后续验证使用。 4. 用户在手机上收到验证码后,输入验证码并点击登录按钮。 5. 后台接收到用户输入的验证码后,与session中存储的验证码进行比较。 6. 如果验证码匹配成功,则认为用户身份验证通过,可以进行登录操作。 7. 如果验证码匹配失败,则返回错误息,要求用户重新输入验证码。 在具体的代码实现中,可以使用第三方服务提供商的API来发送验证码,比如榛子云。发送验证码的代码可以参考引用[2]中的示例代码。而验证码的验证可以参考引用[3]中的示例代码。 需要注意的是,为了保证安全性,验证码应该有一定的有效期限,并且在验证成功后应该立即从session中删除,以防止被恶意利用。此外,还可以考虑添加一些额外的安全措施,比如限制验证码的发送频率、添加图形验证码等。 总结起来,验证登录是一种安全、方便的登录方式,通过发送验证码来验证用户身份,可以有效防止恶意登录和账号被盗用的风险。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无法自律的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值