基于阿里云服务实现短信验证码功能

这篇具有很好参考价值的文章主要介绍了基于阿里云服务实现短信验证码功能。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言:

  阿里云短信服务是一项基于云计算和大数据技术的企业级短信平台服务。它能够为企业和开发者提供高可用、高性能、高稳定性的短信发送服务,可以快速地将各类业务通知、验证码、营销推广等信息发送给用户。在我们经常登录一些系统或者APP时候,经常会遇到其他登录登录方式——短信验证码登录。这也是我前一段时间优化一个系统时新增加的一个登录功能,mark记录一下。

一、准备工作:

登录阿里云官网注册用户:

https://dysms.console.aliyun.com/

登录后完成个人或者企业认证:

说明:供个人学习测试,建议个人认证就可以。认证完成后,会赠送100条免费测试短信,用完后需要续费购买。

基于阿里云服务实现短信验证码功能

创建AccessKey :

Step1:点击右上角头像=>AccessKey 管理

基于阿里云服务实现短信验证码功能

Step2:点击创建,填写内容后创建,此处我已经创建

基于阿里云服务实现短信验证码功能

Step3:创建后,查看复制出AccessKeySecret和AccessKeyId,供后续程序调用API使用

基于阿里云服务实现短信验证码功能

创建签名 :

说明:短信发送时,必须要模板和签名搭配使用,必须创建。创建消息模板时候需要关联签名,所以要先创建签名,等待签名审核通过,再创建消息模板。

基于阿里云服务实现短信验证码功能

基于阿里云服务实现短信验证码功能

创建消息模板:

说明:如上所述,需要关联已经审核通过的签名。

基于阿里云服务实现短信验证码功能

基于阿里云服务实现短信验证码功能

完成创建详情:
基于阿里云服务实现短信验证码功能

二、创建项目:

项目结构:

说明:方便测试,创建Winform窗体程序。项目结构目录如下:
基于阿里云服务实现短信验证码功能

说明:通过Nuget引用阿里云SDK包

Aliyun-net-sdk-dysmsapi   -----api包Aliyun-net-sdk-core   -----安装核心SDK

三、核心代码:

主窗体:

基于阿里云服务实现短信验证码功能

点击触发事件代码:

private void btSendMsg_Click(object sender, EventArgs e)
        {
            string phone = "13004089962";//手机号码,多个用,分割
            string code = "888888";//验证码
            string msg = "{\"code\":\"" + code + "\"}";//拼接验证码Json格式,参数名称和消息模板中保持一致
            string templateCode = "SMS_461895332";//消息模板编码
            var  ret  =  AliMsgService.SendUserSms(phone, msg, templateCode);
         }

调用阿里云API服务业务短端代码:

  public class AliMsgService
    {
​
​
        //产品名称:云通信短信API产品,开发者无需替换
        const String product = "Dysmsapi";
        //产品域名,开发者无需替换
        const String domain = "dysmsapi.aliyuncs.com";
​
        // TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)
        private static String accessKeyId = "";//AccessKey管理中查看
        private static String accessKeySecret = "";//AccessKey管理中查看
​
        /// <summary>
        /// 发送消息通知
        /// </summary>
        /// <param name="phone">推送手机号</param>
        /// <param name="msg">JSON参数</param>
        /// <param name="TemplateCode">短信模板</param>
        /// <returns></returns>
        public static smsrespon SendUserSms(string phone, string msg, string TemplateCode)
        {
            IClientProfile profile = DefaultProfile.GetProfile("cn-hangzhou", accessKeyId, accessKeySecret);
            DefaultAcsClient client = new DefaultAcsClient(profile);
            CommonRequest request = new CommonRequest();
            request.Method = MethodType.POST;
            request.Domain = domain;
            request.Version = "2017-05-25";//请求版本
            request.Action = "SendSms";
            request.AddQueryParameters("PhoneNumbers", phone);//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,
            request.AddQueryParameters("SignName", "阿亮学习发送");//必填:短信签名-可在短信控制台中找到
            request.AddQueryParameters("TemplateCode", TemplateCode);//必填:短信模板-可在短信控制台中找到,发送国际/港澳台消息时,请使用国际/港澳台短信模版
            request.AddQueryParameters("TemplateParam", msg);//"{\"code\":\"" + code + "\"}"
            try
            {
                CommonResponse response = client.GetCommonResponse(request);
                return JsonConvert.DeserializeObject<smsrespon>(response.Data);
            }
            catch (ServerException e)
            {
                return new smsrespon { Message = "阿里云发送验证码异常", Code = "no" };
            }
            catch (ClientException e)
            {
                return new smsrespon { Message = "阿里云发送验证码失败", Code = "no" };
            }
        }
​
        public class smsrespon
        {
            public string Message { get; set; }
            public string RequestId { get; set; }
            public string BizId { get; set; }
            public string Code { get; set; }
        }
    }

四、测试验证:

测试收到验证码截图:

基于阿里云服务实现短信验证码功能

阿里云后台数据实时数据:

基于阿里云服务实现短信验证码功能

基于阿里云服务实现短信验证码功能

基于阿里云服务实现短信验证码功能

源码链接地址:

Gitee完整实例地址:

https://gitee.com/mingliang_it/AliyunSendMsgTest.git文章来源地址https://www.toymoban.com/news/detail-632192.html

到了这里,关于基于阿里云服务实现短信验证码功能的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云 短信服务——开启验证码防盗刷监控

    由于公司的业务要求,目前正在了解并运用阿里云的短信服务。 在短信服务这儿块由于涉及到每条短信都需要花费一定的费用,以及每条短信都会与用户进行信息交互,所以在这块儿的别需要注重短信的安全问题。本篇博客主要介绍阿里云短信服务如何开启验证码防盗刷监控

    2024年02月05日
    浏览(28)
  • 短信验证码的实现(阿里云)

    背景:目前在很多项目中都出现使用短信验证码来实现注册、登录、购买、支付、转账等功能,发短信功能几乎已经成为项目中不可或缺的技术之一。 选择一个合适的编程语言,例如Python、Java或PHP等。 寻找能够发送短信的API,例如Twilio、阿里云短信等。 注册并获取API的账号

    2024年02月15日
    浏览(31)
  • java 阿里云 发送短信功能实现

            常用短信服务平台:阿里云、华为云、腾讯云、京东、梦网、乐信等         AccessKey 是访问阿里云 API 的密钥,具有账户的完全权限,我们要想在后面通过API调用阿里云短信服务的接口发送短信,那么就必须要设置AccessKey。         控制台页面---点击右上

    2024年02月02日
    浏览(34)
  • 【业务功能篇94】微服务-springcloud-springboot-认证服务-注册功能-第三方短信验证API

      结合我们前面介绍的商城的架构我们需要单独的搭建一个认证服务。   首先创建一个SpringBoot项目,然后添加对应的依赖   我们需要把认证服务注册到Nacos中,添加对应的依赖,然后完成对应的配置 放开Nacos注册中心 然后启动测试   然后我们整理登录和注册的相关

    2024年02月09日
    浏览(38)
  • 如何通过腾讯云短信实现发送验证码并校验验证码以实现登录功能

    验证码相关的10种技术 图像处理技术:生成、识别、验证验证码的图像。 机器学习技术:让计算机自动学习并识别验证码。 文字识别技术:将图像中的文字转换成计算机可读的文本。 模式识别技术:识别验证码中的模式及规律。 图像噪声处理技术:去除图像中的噪声干扰。

    2024年02月10日
    浏览(33)
  • 使用redis实现手机短信验证码和lua完成重置功能

    2024了,各种各样的门户网站和APP都需要登录,登录方式也各种各样,由于都要绑定用户手机号码,所以大部分都支持了手机验证码登录的方式,接下来我们使用redis来完成验证码的功能。 方法名 描述 get 获取验证码 match 验证码配对 reset 验证码重置 check 手机号检测 sendVerificationCode

    2024年02月19日
    浏览(29)
  • 阿里云短信服务---测试模板实现

    2023年阿里云短信服务 个人申请模板 已经申请不到了,现在使用 测试模板 实现 发送短信功能 但你手机上接收到的是模板字符串,具体验证码可以自行存到Redis或者输出到控制台 步骤: 平台链接: https://dysms.console.aliyun.com/quickstart 依次点击下面图片的提示 设置测试模板参数

    2024年02月14日
    浏览(33)
  • Spring Security 6.0系列【15】认证篇之实现短信验证码登录功能

    有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 目前大部分网站都支持使用 手机号+短信验证码 登录,比

    2023年04月24日
    浏览(43)
  • Spring Security 6.x 系列【15】认证篇之实现短信验证码登录功能

    有道无术,术尚可求,有术无道,止于术。 本系列Spring Boot 版本 3.0.4 本系列Spring Security 版本 6.0.2 源码地址:https://gitee.com/pearl-organization/study-spring-security-demo 目前大部分网站都支持使用 手机号+短信验证码 登录,比

    2024年02月05日
    浏览(37)
  • 34、商城系统(十五):认证服务,短信验证码,密码加盐,OAuth2.0社交登录,SpringSession认证功能,单点登录

    目录 一、新建认证服务 1.后端项目启动 2.前端页面复制 3.配置域名 4.配置gateway

    2024年02月19日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包