java短信验证码

使用Java五步实现短信验证码登录 1.去阿里云注册账号后创建短信模板和短信签名(在后边需要用到短信签名以及短信模板版) 2.创建AccessKeyId 3.代码实现发送短信 import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRe... 阅读详情

短信发送

@RabbitHandler
    public void sendSms(String appointmentTelphone){
        //1.生成6位短信验证码
        Random random=new Random();
        int max=999999;
        int min=100000;
        int code = random.nextInt(max);
        if(code<min){
            code=code+min;
        }
        if (SmsUtil.smsUtil(appointmentTelphone,code)){
            //2.将验证码放入redis
            redisTemplate.opsForValue().set("smscode_"+appointmentTelphone, code+"" ,5, TimeUnit.MINUTES );//五分钟过期​
        }

    }

配置文件开通阿里短信服务即可使用

public static boolean smsUtil(String phone, int code) {
        String host = "http://smsmsgs.market.alicloudapi.com";  // 【1】请求地址 支持http 和 https 及 WEBSOCKET
        String path = "/smsmsgs"; // 【2】后缀
        String appcode = "密钥"; // 【3】开通服务后 买家中心-查看AppCode
        //int code = RandomUtil.randomInt(100000, 999999);
        String param = code+"";  // 【4】请求参数,详见文档描述
        //String phone = "手机号";  //  【4】请求参数,详见文档描述
        String sign = "11111";   //  【4】请求参数,详见文档描述
        String skin = "1";  //  【4】请求参数,详见文档描述
        String urlSend = host + path + "?param=" + param +"&phone="+phone +"&sign="+sign +"&skin="+skin;  // 【5】拼接请求链接
        try {
            URL url = new URL(urlSend);
            HttpURLConnection httpURLCon = (HttpURLConnection) url.openConnection();
            httpURLCon.setRequestProperty("Authorization", "APPCODE " + appcode);// 格式Authorization:APPCODE (中间是英文空格)
            int httpCode = httpURLCon.getResponseCode();
            if (httpCode == 200) {
                String json = read(httpURLCon.getInputStream());
                System.out.println("正常请求计费(其他均不计费)");
                System.out.println("获取返回的json:");
                System.out.print(json);
                return true;
            } else {
                Map<String, List<String>> map = httpURLCon.getHeaderFields();
                String error = map.get("X-Ca-Error-Message").get(0);
                if (httpCode == 400 && error.equals("Invalid AppCode `not exists`")) {
                    System.out.println("AppCode错误 ");
                } else if (httpCode == 400 && error.equals("Invalid Url")) {
                    System.out.println("请求的 Method、Path 或者环境错误");
                } else if (httpCode == 400 && error.equals("Invalid Param Location")) {
                    System.out.println("参数错误");
                } else if (httpCode == 403 && error.equals("Unauthorized")) {
                    System.out.println("服务未被授权(或URL和Path不正确)");
                } else if (httpCode == 403 && error.equals("Quota Exhausted")) {
                    System.out.println("套餐包次数用完 ");
                } else {
                    System.out.println("参数名错误 或 其他错误");
                    System.out.println(error);
                }
            }
        } catch (MalformedURLException e) {
            System.out.println("URL格式错误");
        } catch (UnknownHostException e) {
            System.out.println("URL地址错误");
        } catch (Exception e) {
            // 打开注释查看详细报错异常信息
            // e.printStackTrace();
        }
        return false;
    }
    /*
     * 读取返回结果
     */
    private static String read(InputStream is) throws IOException {
        StringBuffer sb = new StringBuffer();
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        String line = null;
        while ((line = br.readLine()) != null) {
            line = new String(line.getBytes(), "utf-8");
            sb.append(line);
        }
        br.close();
        return sb.toString();
    }

短信验证

/**
     * 增加
     * @param hsAppointment 用户
     */
    public int add(HsAppointment hsAppointment) {
        //判断验证码是否正确
        String syscode =(String)redisTemplate.opsForValue().get("smscode_" + hsAppointment.getAppointmentTelphone());
        //提取系统正确的验证码
        if(syscode==null){
            throw new RuntimeException("请点击获取短信验证码");
        }
        if(!syscode.equals(hsAppointment.getCode())){
            throw new RuntimeException("验证码输入不正确");
        }
        hsAppointment.setId( idWorker.nextId()+"" );

        hsAppointment.setAppointmentType("0");
        hsAppointment.setState("0");
        return appointmentMapper.insert(hsAppointment);
    }
java实现短信验证码登录 java实现短信验证码登录 我这里是用的云片网发送短信,所以你在看代码的时候要看清楚你用的什么服务器发短信。 下面看代码,我这个不需要引入其他的jar包 controller 层 这个是获取验证码和用验证码登录 /** * 获取验证码 * @param wxUser * @return */ @GetMapping("/getCode") public String getCode(WxUserModel wxUser) throws IOExcep 阅读详情

相关推荐

JAVA接入短信接口,实现短信验证码功能

最近网站要加短信验证功能,不得不要折腾一番。好了,不多说了,说一下过程。首先是短信服务商的选择,以前没接触过,只能找度娘了,找了三家,对比一下。 价格: 1、秒嘀科技 - 短信接口、短信验证码、语音验证码、短信平台 最低充值120,单价0.048元/条;一次性充值36000时,单价0.036/条 2、容联云通讯_提供通话、短信、视频、呼叫中心、IM、流量

Johnsf的博客 1万+

短信验证码—Java实现

在业务需求中我们经常会用到短信验证码,比如手机号登录、绑定手机号、忘记密码、敏感操作等,都可以通过短信验证码来保证操作的安全性,于是就记录下了一次开发的过程。

idogbin的博客 1万+

如何快速用Java获取短信验证码

快速用Java获取短信验证码,无需任何依赖

短信接口_短信验证码_短信验证码接口 1601

认证服务(3)-整合短信验证码

1.开通阿里云短信 或者 2.在gulimall-third-party中集成短信服务

小生不才的博客 478

Java版腾讯云短信验证码获取

腾讯云短信验证码获取(java版)

qq_38188552的博客 6738

Oracle EBS财务模块(三)总账功能

(一)总账管理系统主要功能  总账管理系统(Oraclegeneralledger)是一个公司一切账务系统的核心,它好比是公司会计信息的中央处理器。总账管理系统提供了一个完整的财务管理核算及分析流程。它是所有子账户的信息存储器,因此反映了所有子账户的财务和现金活动。总账管理系统的主要作用是记录公司的财务活动,并生成财务报表和管理报表,以帮助公司内外人士进行决策。一个公司或组织的制造系统、项目管理系

苏南生的优快云博客 2万+

Java实现短信验证码

前言   本人使用的是阿里短信服务,一开始尝试了许多不同的第三方短信服务平台,比如秒滴科技、梦网云通讯。当初开始为什么会选择这两个,首先因为,他们注册就送10元钱(#^.^#),但是后来却发现他们都需要认证,比如秒滴只给企业用,必须完成企业认证才可以,个人也就没办法实现(而且客服一直会给打电话)。而梦网云通讯感觉还可以,但是看了官网的代码,没看懂......网上的代码样例也比较少。所以经过一番摸...

weixin_45040144的博客 1487

Langchain分割方式

【代码】Langchain分割方式。

2896

使用Java实现短信验证码

对于短信验证码的实现,作为新手肯定都觉得很难,但实际上短信验证码其实就是调用别人写好的接口,操作简单,觉得难可能是没有接触过或者逻辑上还没有理通,才会产生一种无从下手的感觉。由于阿里云和腾讯云等已经不再支持个人开发者使用短信服务,这里我使用的是互亿科技的短信服务,该平台提供一个学生套餐,10元166条短信,用于调试完全足够,模板是固定的,不允许进行任何更改,否则发送不出去。进去注册之后,会提示一个学生套餐,点击进去购买即可。 进去之后,找到图中的指示进行操作 找到三步和第四步的APIID和APIKEY,这

学习是一种乐趣 3800

从零开始利用MATLAB进行FPGA设计(六)用ADC采集信号教程1

用AN9238采集信号的方法(1),包含PLL、FIFO、ILA的基础教程。

WZT725的博客 3094

Unity游戏开发客户端面经——网络(初级)

Unity游戏开发客户端面经 之 网络 篇

Sea3752的博客 1万+

Java实现用户短信验证码登录

Java实现用户短信验证码登录

weixin_45314044的博客 3862

Calibre电子书阅读器个性化样式定制指南

本文详细介绍了如何通过Calibre电子书阅读器的用户样式表功能进行深度个性化样式定制。从修改全局字体、行距、背景配色(包括深色/浅色模式)到美化代码块、引用等特殊元素,本指南提供了完整的CSS代码示例与实战技巧,帮助用户打造专属的舒适阅读环境,显著提升电子书阅读体验。

vv45678的博客 920

图形验证码+短信验证码【Java应用实例】

一、图形验证码的实现 1.1 简介 常在网上晃悠的人,对下面这张图都不会陌生。特别是在注册新账号、确认交易时,它们都会频繁出现,要求我们输入正确的验证码,那这些看上去跟我们要做的事情完全无关的验证码到底有何作用呢? 其实,验证码的校验即是一个直接的图灵测试,简单的逻辑是:服务提供者向用户方提出一个较为复杂的问题,能正确回答的即是人类,回答不出的即是机器或者程序代码。这个概念基于这样一个重...

短信接口_短信验证码_短信验证码接口 2万+

Linux系列:SecurtCRT中的密码如何找回

【代码】Linux系列:SecurtCRT中的密码如何找回。

NIO4444 1086

canoe安装完成开启之后因为VectorDeviceParams30_64.dll报错崩溃打不开...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 1079

java发送短信验证码带倒计时

分享一个完整的java发送短信验证码的完整实例,这是一个官方的使用demo,带有60秒倒计时功能。 效果: 我使用的是榛子云短信平台, 官网地址:http://smsow.zhenzikj.com 我是java开发者,后端使用了springMvc,前端用的是jsp + jquery 下载demo:http://smsow.zhenzikj.com/doc/sdk.html ...

zuoliangzhu的专栏 1万+

看懂 SAP S/4HANA 产品主数据里的 GTIN:一串号码背后的全球商品识别与业务协同

SAP S/4HANA中的GTIN管理是企业供应链运营的关键环节。本文深入解析GTIN的业务内涵及其在SAP系统中的实现方式:1) GTIN是全球通用的商品标识码,不同于企业内部物料编码;2) SAP主数据中GTIN与计量单位强绑定,需为不同包装层级维护独立GTIN;3) 同一产品可能因渠道、供应商差异存在多个GTIN;4) GTIN贯穿零售POS、仓储管理、EDI订单等核心业务流程;5) 通过典型案例说明错误维护GTIN将导致收银异常、仓库作业低效等运营问题。文章强调GTIN管理需结合包装层级、计量单位等

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1433

JAVA之发送短信验证码

Java 发送短信验证码一、发送短信的基础配置二、代码实现 一、发送短信的基础配置 sms.domain = ‘写你购买短信的API’ sms.version = ‘版本信息或者直接写个时间’ sms.action = SendSms sms.regionid = ‘地区’ sms.signname = ‘短信签名’ sms.templatecode = ‘短信模板code’ 二、代码实现 @Value("${sms.domain}") private String domain; @

P_CLiang的博客 810

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

java短信验证码功能发送的验证码如何校验_java实现发送短信验证码

在网站开发中的注册模块中,短信接收验证码是大部分网站必不可少的功能。这里我就简单总结了一下实现发送短信验证码的功能。这里用的是秒滴短信服务平台。新用户注册给200条短信,测试够用了。下面直接上实现代码吧,我这里主要是用作记录笔记大家也可以参考一下。用到的pom文件:4.0.0com.hxkj.comhellohao010.0.1-SNAPSHOTwarhellohao01UTF-8commons-...

weixin_33785971的博客 1036

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

java如何开发短信验证码,短信通知

短信接口的调用,所有的东西均来自你选择的接口的官网,没多说的,想要知道如何使用,你必须去官网反复阅读帮助文档,否则你是没办法搞清楚如何使用的,比如返回码,回调地址等。 短信接口开发 申请测试账号:接口注册 短信API 下面给大家分享下接口调用的基本流程: 1.注册接口账号 2.创建应用 3.创建短信模板 4.创建测试号码 5.下载SDK 6.修改demo配置文件 7.填写demo类参数 8.测试 9.申请项目上线 * 接口类型:触发短信接口,支持发送验证码短信、订单通知...

m0_61684517的博客 3053

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

Java开发完整的短信验证码功能

现代互联网项目中,很多场景下都需要使用一种叫做验证码的技术,常用的有图片验证码,滑块验证码,短信验证码等,本文章描述的就是短信验证码的一个使用教程,从0开始完成一个验证码功能的开发。 闲扯 是不是看着导语很高大上!!! 我才不会说是因为最近不知道写啥才水的一篇文章 但是嘛,我要争取做到水文章也水的特别认真,让读者可以根据本文的教程实现验证码功能 使用技术 Java:所使用的后端技术 JSP:所使用的前端技术 阿里云短信服务:发送短信 Redis:存储验证码 实现超时过期以及验证功能 所需知识储备 .

超哥的博客 4372

java验证码短信发送_Java实现发送短信验证码功能

一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在Java中使用HttpClient模拟POST请求或者GET请求(看短信平台要求,一般的情况下都是POST请求),调用短信平台提供的接口(遵循短信平台的接口规范即可)。具体看代码:使用HttpClient的时候需要在项目中引入:commons-httpclient-3.1.jar这个jar包,项目结构:1、创建一个Http的模拟请求工具...

weixin_32386693的博客 303

java 登陆短信验证码_JAVA短信验证登录

短信验证登陆1、点击触发,以电话号码为参数调用发送验证登录短信方法2、默认模板为验证模板生成6位验证码3、将生成的验证码和手机号码放入缓存,(已经设置好缓存存放时间)4、调用发送模板短信方法发送短信(设置好短信中验证码有效的时间)5、点击触发登陆,调用对应验证登录函数 ,以电话号码和验证码为参数6、校验缓存中对应保留的信息如果一致,登陆成功;登陆不成功是返回原因(1、超时 2、验证码输入错误)代码...

weixin_42365234的博客 1537

java 登陆短信验证码_Java实现短信验证码

原标题:Java实现短信验证码声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。短信验证码短信验证码都是调用一些接口来进行短信的发送,短信验证码在登录、注册等操作中使用的最广泛,本文这一节演示如何使用Java制作一个简单的短信验证码登录。我这里演示使用的是聚合数据的短信接口(并非广告),因为聚合数据的接口调用比...

weixin_39809584的博客 1299
上一篇: java图片验证码
下一篇: java短信动态模板MessageFormat
W_Think
博客等级 码龄6年 3022粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值