Java 实现发送短信 短信API调用

在项目开发中,基本上离不开短信使用。如:验证码,语音验证码,订单通知,物流通知,会员通知,交易通知,变更通知等等。笔者也使用过很多平台,个人感觉摩杜云还是不错的。该平台除了支持全球280多个地区发送外,还支持区块链,交易所,金融等行业发送。此处就不在赘述了。

1.当然是到摩杜云注册个账号。

2.登录后台右上角点击accesskey进去创建accesskey、secretkey。

3.准备json_jdk1.7.jar(当然可以下载最新版的,情况根据自己需要。)

4.SmsSDKDemo.java

package com.moduyun.sdk.sms;

import com.moduyun.sdk.sms.yun.SmsSingleSender;
import com.moduyun.sdk.sms.yun.SmsSingleSenderResult;

public class SmsSDKDemo {
    public static void main(String[] args) {
    	try {
    		//请根据实际 accesskey 和 secretkey 进行开发,以下只作为演示 sdk 使用
    		String accesskey = "xxx";
    		String secretkey ="xxxxx";
    		//手机号码
    		String phoneNumber = "136252412xx";
    		 //初始化单发
	    	SmsSingleSender singleSender = new SmsSingleSender(accesskey, secretkey);
	    	SmsSingleSenderResult singleSenderResult;
	         String msg = "【摩杜云】尊敬的用户:您的验证码:123456,工作人员不会索取,请勿泄漏。";
	    	 //普通单发,注意前面必须为【】符号包含,置于头或者尾部。
	    singleSenderResult = singleSender.send(0, "86", phoneNumber, msg, "", "");
	    	System.out.println(singleSenderResult);
	    	
	    	

    	} catch (Exception e) {
			e.printStackTrace();
		}
    }
}

 

5.SmsSenderUtil.java

package com.moduyun.sdk.sms.yun;

import java.net.HttpURLConnection;
import java.net.URL;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Random;

import org.json.JSONArray;
import org.json.JSONObject;

class SmsSenderUtil {

    protected Random random = new Random();
    
    public String stringMD5(String input) throws NoSuchAlgorithmException {
        MessageDigest messageDigest = MessageDigest.getInstance("MD5");
        byte[] inputByteArray = input.getBytes();
        messageDigest.update(inputByteArray);
        byte[] resultByteArray = messageDigest.digest();
        return byteArrayToHex(resultByteArray);
    }
    
    protected String strToHash(String str) throws NoSuchAlgorithmException {
        MessageDigest messageDigest = MessageDigest.getInstance("SHA-256");
        byte[] inputByteArray = str.getBytes();
        messageDigest.update(inputByteArray);
        byte[] resultByteArray = messageDigest.digest();
        return byteArrayToHex(resultByteArray);
    }

    public String byteArrayToHex(byte[] byteArray) {
        char[] hexDigits = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
        char[] resultCharArray = new char[byteArray.length * 2];
        int index = 0;
        for (byte b : byteArray) {
            resultCharArray[index++] = hexDigits[b >>> 4 & 0xf];
            resultCharArray[index++] = hexDigits[b & 0xf];
        }
        return new String(resultCharArray);
    }
    
    public int getRandom() {
    	return random.nextInt(999999)%900000+100000;
    }
    
    public HttpURLConnection getPostHttpConn(String url) throws Exception {
        URL object = new URL(url);
        HttpURLConnection conn;
        conn = (HttpURLConnection) object.openConnection();
        conn.setDoOutput(true);
        conn.se
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值