為了應付越來越多的自動發帖機、惡意攻擊等情形,驗證碼技術在大量的網站上得到使用。我在近期開發一個注冊網站的時候,也使用了這一技術。當然,我並不想完完全全自己重新實現,而是參考了網上能夠找到的實現,做了若干改進而已。下面談談我的實現。
補兩張圖片:

首先看驗證碼圖片輸出頁的代碼:
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
VryImgGen gen = new VryImgGen();
string verifyCode = gen.CreateVerifyCode(5, 1);
Session["VerifyCode"] = verifyCode.ToUpper();
System.Drawing.Bitmap bitmap = gen.CreateImage(verifyCode);
System.IO.MemoryStream ms = new System.IO.MemoryStream();
bitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
Response.Clear();
Response.ContentType = "image/Png";
Response.BinaryWrite(ms.GetBuffer());
bitmap.Dispose();
ms.Dispose();
ms.Close();
Response.End();
}
</script>