asp.net实现简单数字验证码实例


本文摘自PHP中文网,作者怪我咯,侵删。

调用

1

2

3

验证码:<input type="text" id="txtValidate" style="border: solid 1px #9B9B9B; width: 85px;

                        height: 17px;" />  <img src="Rnd.aspx" mce_src="Rnd.aspx" style="width: 58px; height: 17px;

                            border: solid 1px #9B9B9B" align="absmiddle" />


后台实现
Rnd.aspx.cs

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

using System;

using System.Collections;

using System.Configuration;

using System.Data;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.HtmlControls;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Drawing;

using System.Drawing.Imaging;

 

public partial class Rnd : System.Web.UI.Page

{

    private int codeLen = 5;//随机显示字符个数

    private int fineness = 100;//图片清晰度

    private int imgWidth = 65;//图片宽度

    private int imgHeight = 20;//图片高度

    private string fontFamily = "Roman";//字体名称

    private int fontSize = 12; //字体大小

    private Random random = new Random();

 

    protected void Page_Load(object sender, EventArgs e)

    {

        string validateCode = CreateValidateCode();

        Session["RandomNumber"] = validateCode;

        Bitmap bitmap = new Bitmap(imgWidth, imgHeight);

        DisturbBitmap(bitmap);

        DrawValidateCode(bitmap, validateCode);

        bitmap.Save(Response.OutputStream, ImageFormat.Gif);

    }

    private string CreateValidateCode()//得到随机数

    {

        string validateCode = "";

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

        {

            int n = random.Next(10);//返回一个小于最大值得随机数

            validateCode += n.ToString();

        }

        return validateCode;

    }

    private void DisturbBitmap(Bitmap bitmap)//获取背景图

    {

        for (int i = 0; i < bitmap.Width; i++)

        {

            for (int j = 0; j < bitmap.Height; j++)

            {

                if (random.Next(90) <= this.fineness)

                {

                    bitmap.SetPixel(i, j, Color.White);//获取指定位置的像素颜色

                }

            }

        }

    }

    private void DrawValidateCode(Bitmap bitmap, string validateCode)

    {

        Graphics g = Graphics.FromImage(bitmap);

        Font font = new Font(fontFamily, fontSize, FontStyle.Bold);

        g.DrawString(validateCode, font, Brushes.Green, random.Next(-3, 11), random.Next(-4, 1));//在指定区域绘制文本字符

    }

}

以上就是asp.net实现简单数字验证码实例的详细内容!

相关阅读 >>

asp.net mvc实现404跳转的代码实例

asp.net页脚制作详解

详细介绍asp.net中的c#基础知识

asp.net core中的多语言支持的图文详解

asp.net部署到iis常见问题的解决方法_实用技巧

利用razor引擎生成静态页(asp.net mvc)实例详解

关于asp.net core网站在docker中运行的详解

asp.net core razor页面路由的详细介绍

asp.net实现文件下载功能

关于core mvc压缩样式的实例详解(asp)

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...