• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ASP.NET使用C#实现的最简单的验证码方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

这是我自己写的,已经写好了一个类,这个类直接粘贴到你的代码里面,编译一下引用就行了。

可以实现纯数字的验证码,纯字母的验证码,字母和数字组合的验证码。

当然你也可以做许多改进,比如说你可以在缓存方面改进一下以生成更加精准的验证码。

具体的外观就看你的CSS了啊,呵呵呵,就不多说了。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

 

namespace CodePanda

{

    /// <summary>

    /// 用于生成不同组合的验证码的类,该类是一个密封类

    /// </summary>

    public sealed class CP_SecurityCode

    {

        /// <summary>

        /// 初始化随机字符数组

        /// </summary>

        public static char[] numarray = new char[] { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };

        /// <summary>

        /// 该方法用于获得随机字符串,并返回随机字符串的值

        /// </summary>

        /// <param name="_strLength">字符串的长度,建议长度数值为4-15</param>

        /// <param name="_strType">字符串的类别,0代表纯数字的验证码,1代表纯字母的验证码,2代表数字与字母二者组合的验证码</param>

        /// <param name="_toLower">字符串如果包含字母,那么是统一转换成小写还是保持不变由此参数决定,为true表示执行转换</param>

        /// <returns>返回所获得随机字符串的值</returns>

        public static string GetAllNumRandomStr(int _strLength, int _strType, bool _toLower)

        {

            string AllNumRandomStr, AllNumRandomLowStr;

            StringBuilder sb = new StringBuilder();

            Random rd = new Random(DateTime.Now.Millisecond);

            if (_strType == 0)

            {

                for (int i = 0; i < _strLength; i++)

                {

                    sb.Append(numarray[rd.Next(0, 9)]);

                }

            }

            else if (_strType == 1)

            {

                for (int i = 0; i < _strLength; i++)

                {

                    sb.Append(numarray[rd.Next(10, 61)]);

                }

            }

            else if (_strType == 2)

            {

                for (int i = 0; i < _strLength; i++)

                {

                    sb.Append(numarray[rd.Next(0, 61)]);

                }

            }

 

            AllNumRandomStr = sb.ToString().Trim().ToString();

            AllNumRandomLowStr = AllNumRandomStr.ToLower().Trim().ToString();

            if (_toLower == false)

            {

                return AllNumRandomStr;

            }

            else

            {

                return AllNumRandomLowStr;

            }

        }

    }

}

这个验证码生成的方法可能是最不安全的,但是确实在比较小型的对安全性要求不是特别苛刻的情况下还是可以使用的。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap