java发送手机短信认证码
一直都有个技术梦想,做出属于自己的门户网站,业余时间都投入网站建设里面,由于网站需要手机认证来实现手机号找回密码功能,对于短信认证码的需求非常强烈,经过几天的研究,终于实现了这个功能(开心),下面记录一下:
准备工作
java上要实现短信认证码的功能,首先要具备一下几点条件:
1、实名认证的阿里云账户
2、已认证的短信签名和短信模版
3、云服务器密钥
4、配置完整的tomcat以及servlet环境
5、短信消息API
实名认证的阿里云账户需要你自己去搞定,作为一名有激情的后台开发工程师,云服务器对你的好处非常大,除了短信服务,还有其他好用的功能,像人脸识别,图形功能等等。这里我假定你已经有了可用的阿里云账户。主要介绍剩下的4点:
短信签名和短信模版
首先我们要了解短信签名和短信模版的概念,短信签名是短信前缀,一般是网站名称或者用户名称,短信模版就是短信的内容,如下图,短信签名是”明阳图书”,短信模版就是后面一长串的内容
由于互联网环境监管严格,我们网站发送的短信内容都需要结果审核,不然就无法发送哦,下面是具体步骤:
登录阿里云帐号,在搜索栏输入”短信服务”
选择立即开通,由于我已经开通了,样式和你不一样
开通短信服务后找到管理控制台
点击签名管理
点击右上角添加签名
后面的内容也没啥可说的,按照官网提示填写内容,提交审核就行了,一般两个小时就有结果啦,短信模版步骤也是一样的
云服务器密钥
云服务器密钥是包括两个部分,Access Key ID和Access Key Secret,这相当于你阿里云的账户和密码,和普通帐号的使用场景不同,对你的阿里云拥有最高的权限,所以千万不要把自己的密钥透露给别人哦!
点击接口调用,获取AK
点击右上角的创建AccessKey
将创建的密钥保存到桌面,待会备用
tomcat以及servlet环境
这个我之前的博客有详细的介绍,传送门
短信消息API
下载对应语音的消息DEMO工程,工程所需要的所有依赖jar包都放在DEMO工程的lib目录下,将对于的jar包引入到你的工程当中既可按照DEMO样例编写接收消息的程序。阿里云短信服务最少需要两个jar包,aliyun-java-sdk-core和aliyun-java-sdk-dysmsapi,要实现短信工作必须要下这两个jar包。
好啦,所有的准备工作都已经完成,下面我们在java里面调用,按照注释修改即可,无需修改的地方不要动
1 |
|
说明
由于阿里云只是负责发送给用户手机,不会返回验证码给后台,所以我们需要先用java后台生成短信验证码,可以使用Math类里面的random()生成6个0到10之间的随机整数拼接为一个验证码,这个我也为你写好啦
1 | //生成验证码 |
由于后台很多servlet需要用到短信服务,我建议你将以上代码封装为一个静态方法,以后就可以多次调用了哦!