Java发送短信验证码

本文介绍了如何使用Java发送短信验证码,包括与第三方平台秒嘀科技的集成,注册过程,使用MessageDigest类进行数字签名,以及在controller层进行验证码的生成、发送和验证。通过示例代码展示了具体实现。
摘要由CSDN通过智能技术生成

要求

  • 生成6位随机验证码
  • 向第三方接口发送手机号和验证码,由第三方接口发送验证码到指定手机
  • 将验证码和发送时间存入session,供controller层比对验证码是否正确和有效

简介

  • 发送短信需要借助第三方接口,目前提供短信服务的第三方平台有很多,首选秒嘀科技,注册即送10元约200条免费试用优惠,但需要企业认证才能发送短信。阿里云也提供短信服务,但必须充值才能使用。

注册秒嘀科技

  • 访问秒嘀科技:http://www.miaodiyun.com/,注册账号
  • 登录,点击用户中心->账户管理,获取ACCOUNT_SID和AUTH_TOKEN(后者需要验证)。
  • 点击配置管理->验证码短信模板->新建模板,填写信息后提交审核,很快能好

术语

  • SMS:Short Message Service,短信服务
  • sig: 一种有效的数字签名,以便在手机设备上运行。
  • sid:Security Identifiers,是用户、组合计算机账户的唯一身份标识。

MessageDigest类

  • 为应用程序提供信息摘要算法,如MD5或SHA算法。信息摘要是安全的单向哈希函数,它接收任意大小的数据,并输出固定长度的哈希值。
  • MessageDigest.getInstance(String algorithm):返回实现指定摘要算法的MessageDigest对象。
  • update(byte[]):指定要生成摘要的信息,返回值为void。
  • digest():返回计算出来的哈希摘要,是byte[],通常与update方法同用。
  • digest(byte[]):可以不用update方法。
  • isEqual(byte[],byte[]):两个摘要是否相同,做简单的字节比较。

代码

  • 短信发送方面不需要导什么包,因为我们是用网络访问的方式调用第三方接口,只需要程序发起请求,不需要额外引入依赖。

  • 发送短信工具类

      /**
       * @Author haien
       * @Description 发送短信服务工具类
       * @Date 2019/2/10
       * @Param
       * @return
       **/
      public class SmsUtil {
          //第三方平台接口
          private static final String QUERY_PATH=
                  "https://api.miaodiyun.com/20150822/industrySMS/sendSMS";
       
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值