通过sails和阿里大于实现短信验证

前端之家收集整理的这篇文章主要介绍了通过sails和阿里大于实现短信验证前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

通过sails与阿里大于来实现注册短信验证码的发送,逻辑图如下

1、用户在客户端发送手机号给服务器,服务器接收到手机号,生成对应时间戳,随机四位数验证码

2、服务器将电话号码和验证码告诉阿里大于服务器,阿里大于服务器将验证码发送到对应手机

3、服务器将接受到的手机号,时间戳,验证码,与服务器秘钥(为了增加秘钥破解难度,提高安全)通过md5加密生成token,并且将token与时间戳发送到前端

4、前端接收到短信,输入验证码后,再把验证码,手机号,接收到的token1和时间戳发送到服务器进行验证

5、用接收到的时间戳与服务器时间进行对比,超过时间及返回超时,需要客户端重新验证

6、没有超时遍开始核对,把第二次从客户端接收到的验证码,手机号,时间戳与服务器秘钥生成token2,如果token2与接收到的token1相同,则进行注册,如果不同则返回验证码错误

Sails代码

service文件

需要npm install alidayujs --save

sails service里的方法可以全局调用,第一个参数是各种参数,第二个参数是回调函数

sms_template_code是短信模板,需要登录阿里大于自己注册模板或者使用官方给的模板,每个模板号不一样

Controller文件

注册用户 check:function(req,res){ var sercrt = "yhkevin"; var code = req.param('code'); var time = req.param('time') var phoneNumber = req.param('phoneNumber') var token1 = req.param('token') var totle = '' var token2 = '' totle = sercrt + code + time + phoneNumber ; token2 = hash(totle); console.log(token2) if(token1 == token2){ res.json({result:'注册成功'}) }else{ res.json({err:'验证码错误'}) } } }; function hash(code) { var content = code; //加密的明文; var md5 = crypto.createHash('md5'); //定义加密方式:md5不可逆,此处的md5可以换成任意hash加密的方法名称; md5.update(content); var d = md5.digest('hex'); //加密后的值d return d; }

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程之家!

猜你在找的JavaScript相关文章