NET 很简单的一个生成随机验证码封装的一个类

本文介绍了一个简单的验证码生成器实现,该生成器可以生成指定长度的随机字符串验证码,并将其绘制在一张图片上,同时还介绍了如何将验证码字符串保存在Session中以便后续验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. usingSystem;
  2. usingSystem.Data;
  3. usingSystem.Configuration;
  4. usingSystem.Web;
  5. usingSystem.Web.Security;
  6. usingSystem.Web.UI;
  7. usingSystem.Web.UI.WebControls;
  8. usingSystem.Web.UI.WebControls.WebParts;
  9. usingSystem.Web.UI.HtmlControls;
  10. usingSystem.Drawing;
  11. ///<summary>
  12. ///VerifyCode的摘要说明产生随机数
  13. ///</summary>
  14. publicclassVerifyCode
  15. {
  16. publicVerifyCode()
  17. {
  18. }
  19. //产生随机字符串
  20. ///<summary>
  21. ///产生随机数
  22. ///</summary>
  23. ///<paramname="num">需要的字符的个数</param>
  24. ///<returns>返回产生的随机数</returns>
  25. publicstringGenCode(intnum)
  26. {
  27. //定义一个数组
  28. string[]source={"0","1","2","3","4","5","6","7","8","9",
  29. "A","B","C","D","E","F","G","H","I","J","K","L","M","N",
  30. "O","P","Q","R","S","T","U","V","W","X","Y","Z"};
  31. //定义一个装数组的字符串
  32. stringcode="";
  33. Randomrd=newRandom();
  34. for(inti=0;i<num;i++)
  35. {
  36. code+=source[rd.Next(0,source.Length)];
  37. }
  38. returncode;//返回产生的随机数
  39. }
  40. //生成图片
  41. publicvoidGenImg(stringcode,PagecurPage)
  42. {
  43. BitmapmyPalette=newBitmap(60,20);//定义一个画板
  44. Graphicsgh=Graphics.FromImage(myPalette);//在画板上定义绘图的实例
  45. Rectanglerc=newRectangle(0,0,60,20);//定义一个矩形
  46. gh.FillRectangle(newSolidBrush(Color.Blue),rc);//填充矩形
  47. gh.DrawString(code,newFont("宋体",16),newSolidBrush(Color.White),rc);//在矩形内画出字符串
  48. myPalette.Save(curPage.Response.OutputStream,System.Drawing.Imaging.ImageFormat.Jpeg);//将图片显示出来
  49. curPage.Session["ValidateCode"]=code;//将字符串保存到Session中,以便需要时进行验证
  50. gh.Dispose();//关闭 
  51. myPalette.Dispose();
  52. }
  53. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值