实现手机短信验证码功能


目录

一、写在前面

二、步骤


一、写在前面

        本篇做记录使用,欢迎相互学习。因为做的项目有用户和管理员两种身份,所以想给项目加入登录注册功能,采用手机短信验证码进行注册。用户和管理员的账号和密码采用数据库保存(这可能不是一种安全的保存方式,但作学习练手的一个方式),用手机号码或账号登录。

        本文的短信验证码通过接入第三方平台实现。因为短信验证这个受到很多管控,像比较大的短信收发平台阿里云、聚合数据等,认证不好通过,拿不到签名,借鉴了网上资料,最终采用榛子云短信用作个人使用,至少能发送了。另外,发送一条好像是几分钱,系统默认会送一条。

二、步骤

1、注册和登录

注册链接:sms_developer.zhenzikj.com/zhenzisms_user/register.html

登录链接:https://sms_developer.zhenzikj.com/zhenzisms_user/login.html

然后就是这个界面:

第一次登录进来,默认会有模板,可以不用更改,更改后会进入审核。

2、代码调用

这里先放榛子云短信的使用文档链接:榛子-云短信文档中写可以用api和sdk两种方式调用,其实原理差不多。我使用的python语言,采用python-sdk实现。先在界面中找到三个参数:(圈的这三个)

然后打开文档http://smsow.zhenzikj.com/doc/sdk.html下载sdk,可以看到支持很多语言,调用方式支持很多。本文以python语言为例,我下载的python-sdk。(如下图)

然后将sdk放在和调用的.py文件同级目录,不然导不了包
代码如下:(注意将圈起来的参数对应添加到你的代码)

import zhenzismsclient as smsclient  # 导入sdk包
import random  #我使用的随机数生成验证码,你可以使用其他方式

apiUrl = 'https://sms_developer.zhenzikj.com'  # 个人使用的apiUrl地址(这个是固定的,文档中有写),企业是不同的
appId = 'xxxx'  # 你自己的appId
appSecret = 'xxxxxxxx'  # 你自己的appSecret
client = smsclient.ZhenziSmsClient(apiUrl, appId, appSecret)
# 生成验证码
code = ''
for num in range(1, 7):  #你可以自己设置验证码的位数
    code = code + str(random.randint(0, 9))
# 设置一分钟有效
time = '1'
# number是你要发送的手机号码,templateId是你的模板id,templateParams是你的模板参数,对应你的模板内容{1}{2}
params = {'number': 'xxxxxxx', 'templateId': 'xxxxx', 'templateParams': [code, time]}
result = client.send(params)
print(result)

 运行结果:

3、api方式调用

你也可以用api进行调用(我用的apipost工具进行测试,如下图)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值