知识储备: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. 目前国内全地形能力最强的双足机器人 —— 逐际动力 —— 提出迭代式预训练(Iterative Pre-training)方法的强化学习算法

    相关: https://weibo.com/1255595687/O5k4Aj8l2 该公司对其产品的强化学习训练算法给出了较少的描述: 提出迭代式预训练(Iterative Pre-training ...

  2. 【转载】 AI与人类首次空战,5:0大胜!40亿次模拟造美国怪兽,谁与争锋? (再次证明深度强化学习路线的正确性)

    原文: https://mbd.baidu.com/newspage/data/landingsuper?context=%7B%22nid%22%3A%22news_1003478953355572 ...

  3. 【转载】 推荐算法之Thompson(汤普森)采样

    原文地址: https://www.cnblogs.com/gczr/p/11220187.html ------------------------------------------------- ...

  4. stm32 F103C8T6 4x4矩阵键盘使用

    首先感谢 江科大 的stm32入门课程 受益匪浅.推荐有兴趣的朋友去看看. 先看看我用的矩阵键盘是啥样的(很常见的一种) 接线如图(其他型号根据自己需求接上GPIO口) 代码基于stm大善人的代码修改 ...

  5. 升级JDK时涉及的工作任务

    JDK版本升级,通常引入新的语言特性.新的API,废弃一些API,从而导致一些不兼容的现象. 因此在升级产品使用的JDK版本时,通常有如下考虑: 新产品包括新建设的项目以及刚启动不久的项目,使用高版本 ...

  6. 【粉丝问答20】Linux内核定时器使用及其他时间操作

    问题描述 如何使用内核定时器? 内核定时器 Linux内核定时器是timer_list,下面我们详细介绍定时器的使用. 1. 简介 内核定时器是内核用来控制在未来某个时间点(基于jiffies)调度执 ...

  7. YAML 使用

    YAML 语言教程 | 阮一峰的网络日志 YAML Reference YAML Tutorial | Tutorials Point YAML (/ˈjæməl/) YAML Ain't Marku ...

  8. AI产品经理的探索:技能、机遇与未来展望

    Ai时代的产品经理 随着人工智能(AI)的飞速发展,AI已经从一个前沿技术概念逐步演变为驱动各行业创新的核心力量.从智能助手到自动驾驶,从个性化推荐系统到图像识别,AI正在以不可思议的速度改变着我们的 ...

  9. LLM论文研读: MindSearch

    1. 背景 近日中科大与上海人工智能实验室联合推出的MindSearch思索,引起了不小的关注,github上的星标,短短几周时间,已经飙到了4.2K.看来确实有些内容,因此本qiang~研读了论文及 ...

  10. Java面试集锦(一)

    计算机网络 摘要:1. 在浏览器中输入url地址 显示主页的过程,整个过程会使用哪些协议 image.jpeg总体来说分为以下几个过程: DNS解析 TCP连接 发送HTTP请求 服务器处理请求并返回 ...