知识储备:js基础、nodejs基础、ajax基础;

1. 手机验证码原理

表单提交,把手机号码传送到后端;后端拿到手机号码后根据相关算法随机形成一个验证码,并将其保存在数据库;用户拿到验证码后将验证码填写完毕提交后,这时候前端会将用户填写的验证码跟数据库中的验证码进行校验,如果数据相同,则登录成功。反则登录失败。

2. 手机验证码实现

实现发送验证码的代码可以直接在腾讯云自动生成;然后我们只要在代码对对应的位置填写一些参数即可;

环境需求:短信接口API(腾讯云购买)、nodejs环境

nodejs安装环境:运行服务器;

2.1 购买短信接口 ---- 进入短信接口控制台

1. 设置签名

签名就是下图的   流量提醒

创建短信签名  创建完签名 记住 签名内容

  • 短信签名是位于短信正文前【】中的署名,用于标识公司或业务,例如【腾讯科技】
  • 创建短信签名前,请先查看审核标准

2. 设置短信模板

记住模板id   

3. 获取密钥

密钥是用来访问短信接口的时候验证你的身份;
获取方式:个人中心 ---访问管理---访问密钥---密钥管理---切换使用子账号密钥---快速创建---添加用户名---设置访问方式为编程访问
设置完成后可以获取 SecretId 和 SecretKey 两个值;

4. 获取SDK AppID

短信控制台---应用管理---SDK AppID

5. 安装第三方库&生成主要代码;

短信接口控制台---概览---进入API Explorer

使用 npm install tencentcloud-sdk-nodejs-sms --save 安装第三方库;

3. 具体js的代码

js代码:

// 引入第三方库
const tencentcloud = require('tencentcloud-sdk-nodejs')
const SmsClient = tencentcloud.sms.v20210111.Client
// 生成6位验证码
let code = ('000000' + Math.floor(Math.random() * 999999)).slice(-6)
// 访问接口验证身份
// console.log(code)
const clientConfig = {
credential: {
// 步骤二的获取密钥
// 需要用户输入参数区域 start
secretId: '密钥1',
secretKey: '密钥2',
// 需要用户输入参数区域 end
},
region: 'ap-nanjing',
profile: {
httpProfile: {
endpoint: 'sms.tencentcloudapi.com',
},
},
}
// 实例化要请求产品的client对象,clientProfile是可选的
const client = new SmsClient(clientConfig)
const params = {
// 国内手机验证 + 86
// 需要用户输入参数区域 start
PhoneNumberSet: [86 + 手机号],
SmsSdkAppId: 'SmsSdkAppId',
SignName: '签名内容',
TemplateId: '模板id',
TemplateParamSet: ['验证码'],
// 需要用户输入参数区域 end
}
client.SendSms(params).then(
(data) => {
console.log(data)
},
(err) => {
console.error('error', err)
}
)

运行cmd ,使用node运行js文件;

发送成功返回

基于腾讯云短信接口和nodejs服务器实现手机号验证码的更多相关文章

  1. python调用腾讯云短信接口

    目录 python调用腾讯云短信接口 账号注册 python中封装腾讯云短信接口 python调用腾讯云短信接口 账号注册 去腾讯云官网注册一个腾讯云账号,通过实名认证 然后开通短信服务,创建短信应用 ...

  2. Java调用腾讯云短信接口,完成验证码的发送(不成功你来砍我!!)

    一.前言 我们在一些网站注册页面,经常会见到手机验证码的存在,这些验证码一般的小公司都是去买一些大的厂家的短信服务,自己开发对小公司的成本花费太大了!今天小编就带着大家来学习一下腾讯云的短信接口,体验 ...

  3. 腾讯云短信服务+Node.js给手机发送验证码

    最近公司需要些一个登陆验证和修改密码验证,需要用到验证码,我用Node.js写了一个给手机发验证码的代码,下面实现的功能有:生产验证码,(计时器)验证码失效时间,给手机发送短信. 首先看官方文档,在给 ...

  4. 基于tp3.2的腾讯云短信验证码的实现

    新手小白在公司要完成短信验证码注册功能,最初由于没有经验,网上的教程又不是很全,便参考着官方API文档,进行开发 直接进入正题:使用composer下载腾讯云短信接口(记得添加依赖).在项目目录下新建 ...

  5. 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请

    目录 为开源项目贡献代码-pycharm使用git-登录注册功能分析-判断手机号存在接口-多种方式登录接口-腾讯云短信申请 git内容大回顾 今日内容概要 今日内容详细 1 为开源项目贡献代码 2 p ...

  6. 反射实现Model修改前后的内容对比 【API调用】腾讯云短信 Windows操作系统下Redis服务安装图文详解 Redis入门学习

    反射实现Model修改前后的内容对比   在开发过程中,我们会遇到这样一个问题,编辑了一个对象之后,我们想要把这个对象修改了哪些内容保存下来,以便将来查看和追责. 首先我们要创建一个User类 1 p ...

  7. java实现发短信功能---腾讯云短信

    目录 java实现发短信功能 前言 开发环境 腾讯云 ---短信 代码 效果 结束语 java实现发短信功能 前言 如今发短信功能已经成为互联网公司的标配,本篇文章将一步步实现java发送短信 考察了 ...

  8. 03 . Django之腾讯云短信

    简介 由于项目在注册.登录.找回密码 时需要发送短信验证的功能,我们使用腾讯云短信做. 为什么要用腾讯云短信呢? 因为注册就送 100条免费短信 的额度. 注册腾讯云 注册一个腾讯云账户,腾讯云中提供 ...

  9. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (说点题外话,备案的话,需要 ...

  10. Python使用腾讯云-短信服务发送手机短信

    目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 国内短信支持操作: • 指定模板单发短信 • 指定模板群发短信 • 拉取短信回执 ...

随机推荐

  1. [银河麒麟] Samba的安装与配置

    什么是Samba以及它是干嘛的 Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet F ...

  2. 【Git】01 下载安装(Windows)

    Git 官网地址:[点我访问] https://git-scm.com/ 点击这个电脑自动识别操作系统与系统位数 开始安装 安装的目录不要有中文就行[最好也不要有空格] 算了,直接全选[小孩子才做选择 ...

  3. 【Mybatis】13 动态SQL

    还是先准备演示环境 数据库: CREATE TABLE `t_user` ( `id` int NOT NULL AUTO_INCREMENT, `last_name` varchar(10) DEF ...

  4. 【Vue】Re10 Webpack 第二部分(Loader)

    一.Loader解决的问题: Loader解决的问题是让webpack能够打包其他类型的文件 例如CSS.IMG等非JavaScript脚本文件 在后面我们使用Vue组件文件时也需要VueLoader ...

  5. 人形机器人 —— Figure 01机器人亮相 | OpenAI多模态能力加持 | 与人类流畅对话交互 | 具身智能的GPT-4时刻

    视频地址: https://www.youtube.com/watch?v=vO1wnHA0tZg Figure AI 公司主页: https://www.figure.ai/ 根据Figure 01 ...

  6. 【转载】 Ring Allreduce (深度神经网络的分布式计算范式 -------------- 环形全局规约)

    作者:初七123链接:https://www.jianshu.com/p/8c0e7edbefb9来源:简书著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. ----------- ...

  7. 【转载】 校正Ubuntu时间为北京时间

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_37421762/article/de ...

  8. hibernate validation,spring validation自定义参数校验

    1.背景 在实际开发中,我们除了会使用常用的参数判断,如字符串不为空,最大值,最小值等 我们还可以自定义参数校验规则 2.实际生产问题 实际生产中同步订单的时候, 假设我们要求订单状态值只能是 -1, ...

  9. 高考志愿填报指南:使用AI阅读工具ChatDOC搭建专业、好用、免费的AI高考志愿填报系统

    高考志愿填报指南:使用 ChatDOC 搭建专业.好用.免费的 AI 高考志愿填报系统 不说废话,直接上干货.针对高考志愿填报,这篇文章能为你提供以下内容:高考志愿填报专业数据.高考志愿填报分析思路. ...

  10. 原生js操作dom的总结

    一.学习DOM之前需要知道的 1.什么是window? window:是一个全局对象, 代表浏览器中一个打开的窗口, 每个窗口都是一个window对象 2.什么是document?         d ...