C winform登陸框驗證碼的實現方法

2022-09-26 04:03:09 字數 2599 閱讀 8327

1、  新建乙個簡單的 windows 應用專案

在預設的 form1 中新增如下控制項:

1)  label : text = 「 輸入驗證碼 :」

2)  textbox : name=」 txtvalidcode」 輸入驗證碼的文字框

3)  image : name=」 picvalidcode」 顯示驗證碼的控制項

4) www.cppcns.com; button :單擊事件進行驗證碼驗證

2、  新建乙個產生驗證碼的核心類,並構建其乙個例項:

validcode validcode = new validcode (5,validcode .codetype .numbers)

using system;

using system.collections.generic;

using system.text;

using system.io;

using system.drawing;

using system.drawing.drawing2d;

namespace bighorselib.security

}#endregion

#region constructors

///

/// public constructors

///

/// 驗證碼長度

/// 驗證碼型別:字母、數字、字母+ 數字

public validcode(int len, codetype ctype)

#endregion

#region public field

public enum codetype

#endregion

#region private methods

private string generatenumbers()

return strout.trim();

}private string generatecharacters()

return strout.trim();}//

private string generatealphas()

else

strout += num;

}return strout.trim();

}private system.drawing.bitmap twistimage(bitmap srcbmp, bool bxdir, double dmultvalue, double dphase)}}

return destbmp;

}#endregion

#region public methods

public stream createcheckcodeimage()

this ._checkcode = checkcode;

memorystream ms = null ;

//if (checkcode == null || checkcode.trim() == string .empty)

return null ;

bitmap image = new system.drawing.bitmap ((int )math .ceiling((checkcode.length * _jianju)), (int )_height);

graphics g = graphics .fromimage(image);

tryfont font = new system.drawing.font ("times new roman" , 14, system.drawing.fontstyle .bold);

lineargradientbrush brush = new lineargradientbrush (new rectangle (0, 0, image.width, image.height), color .blue, color .darkred, 1.2f, true );

if (_codetype != codetype .words)

}else

// 畫的前景噪音點

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

// 畫的波形濾鏡效果

if (_codetype != codetype .words)

// 畫的邊框線

g.drawrectangle(new pen (color .silver), 0, 0, image.width - 1, image.height - 1);

ms = new system.io.memorystream ();

image.s**e(ms, system.drawing.imaging.imageformat .gif);

}finally

return ms;

}#endregion

}}3、  載入驗證碼、驗證碼驗證

// 載入驗證碼

picvalidcode.image = bitmap .fromstream(validcode.createcheckcodeimage())

// 驗證

if (!this .txtvalid

本文標題: c# winform登陸框驗證碼的實現方法

本文位址:

網頁登陸驗證碼

原理 生成乙個,並且儲存中顯示的字元到session.在登陸時判斷輸入的校驗碼是否和session中校驗碼相同.這是生成校驗碼和的檔案checknumber.php session start if act init 使用方法 在html檔案中加入 number 是你輸入的校驗碼的值 include...

PHP實現登陸驗證碼

使用php實現登入驗證碼原理 生成乙個,並且儲存中顯示的字元到session.在登陸時判斷輸入的校驗碼是否和session中校驗碼相同.以下是生成校驗碼和的檔案checknumber.php session start if act init 使用方法 在html檔案中加入 在登陸校驗php頁面中加...

python 識別登陸驗證碼筆記

先在網上擷取一張驗證碼 from pil import image import pytesseract im image.open 1.png img im.convert l 轉換為灰度圖 w,h img.size piaxdata img.load for x in range h 將點分為白...