美文网首页
java接入手机短信发送验证码

java接入手机短信发送验证码

作者: quick412 | 来源:发表于2018-11-18 23:09 被阅读0次

市面上短信平台非常多,当初我刚接手这个项目的时候,技术群里的大神介绍给我阿里大于的平台,但是我接入了几次,发现还是接入还是比较困难,试了一个下午的时间,没有接入成功。然后我就自己百度了一些其他平台,经过多方对比,最后选择了互亿无线的短信接口www.ihuyi.com,也有赠送10条短信使用,注册完之后就能送,不够用的话可以多注册几个账号哈哈~

好了话不多说,现在分享起代码

首先是生成验证码的RandUtil类。这里验证码我定义的是6位数,利用随机数生成,为GetMessage提供验证码。

i

mport java.util.Random;

public class RandUtil {

    public static String getRandNum() {

        String randNum = new Random().nextInt(1000000)+"";

        System.out.println("生成"+randNum);

        if (randNum.length()!=6) {  //如果生成的不是6位数随机数则返回该方法继续生成

            return getRandNum();

        }

        return randNum;

    }

}

1

2

3

4

5

6

7

8

9

10

11

12

13

然后是一个发送验证码的工具类QueryUtil。这个类我们在里面写MD5的签名加密sig和时间戳timestamp的获取

import java.security.MessageDigest;

import java.security.NoSuchAlgorithmException;

import java.text.SimpleDateFormat;

import java.util.Date;

/**

* 类描述:发送验证码工具类

*/

public class QueryUtil {

    public static String queryArguments(String ACCOUNT_SID,String AUTH_TOKEN, String smsContent,String to) {

        String timestamp = getTimestamp(); //时间戳

        String sig =  MD5(ACCOUNT_SID,AUTH_TOKEN,timestamp);//签名认证

        String str = "accountSid="+ACCOUNT_SID+"&smsContent="+

                smsContent+"&to="+to+"&timestamp="+timestamp+"&sig="+sig;

        return str;

    }

    /**

    * MD5加密

    * @param args

    * @return

    */

    public static String MD5(String... args){ //动态参数

        StringBuffer result = new StringBuffer();

        if (args == null || args.length == 0) {

            return "";

        } else {

            StringBuffer str = new StringBuffer();

            for (String string : args) {

                str.append(string);

            }

            System.out.println("加密前:\t"+str.toString());

            try {

                MessageDigest digest = MessageDigest.getInstance("MD5");

                byte[] bytes = digest.digest(str.toString().getBytes());

                for (byte b : bytes) {

                    String hex = Integer.toHexString(b&0xff);  //转化十六进制

                    if (hex.length() == 1) {

                        result.append("0"+hex);

                    }else{

                        result.append(hex);

                    }

                }

            } catch (NoSuchAlgorithmException e) {

                e.printStackTrace();

            }

        }

        System.out.println("加密后:\t"+result.toString());

        return result.toString();

    }

    /*

    * 获取时间戳

    */

    public static String getTimestamp(){

        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");

        Date date = new Date();

        return sdf.format(date);

    }

---------------------

作者:hanjun1213

来源:CSDN

原文:https://blog.csdn.net/hanjun1213/article/details/84206260

版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章

  • java接入手机短信发送验证码

    市面上短信平台非常多,当初我刚接手这个项目的时候,技术群里的大神介绍给我阿里大于的平台,但是我接入了几次,发现还是...

  • PHP手机短信接口发送验证码

    //手机短信修改用户的手机号//前端页面发送手机短信验证码代码$('.fasongyzm').click(func...

  • 手机短信修改用户的手机号

    //手机短信修改用户的手机号//前端页面发送手机短信验证码代码$('.fasongyzm').click(func...

  • 短信API实现自动化短信发送

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • 接入短信API,免费试用

    短信验证码接口示例,如何接入短信API接口实现短信自动发送功能; 网站如何实现自动发送短信验证码的功能,短信验证码...

  • 邮件发送注册验证码

    如何实现网站注册验证码邮件自动发送功能?如何接入邮件API接口?免费使用 网站通过接入邮件验证码接口(邮件api接...

  • 选择靠谱的短信验证平台要考虑哪些?

    目前使用短信验证码最普遍的有网上银行、网上商城、团购网站、票务公司等。某些验证码接入商提供手机短信验证码服务,各网...

  • C#发送短信验证码

    业务: 手机端点击发送验证码,请求发送到java服务器端,由java调用榛子云短信接口,生成验证码并发送。 ...

  • java发送手机短信

    其实也就是调用一个http的接口而已public static void main(String[] args) ...

  • 记录请求手机验证码的一些波折

    我们公司申请了一个请求发送手机短信的接口, 为了请求验证码的需求, 但是验证码这6位数需要移动端这边生成, 而且...

网友评论

      本文标题:java接入手机短信发送验证码

      本文链接:https://www.haomeiwen.com/subject/rzpnfqtx.html