如何在asp.net中实现“验证码”的功能

yfan 2004-07-28 11:09:10
如题,请各位朋友指点一下,或者有相关代码或文章!

谢谢各位朋友!
...全文
242 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
pgwron2004 2004-08-03
  • 打赏
  • 举报
回复
顶啊,不会就要学啊
lovedogdog 2004-07-28
  • 打赏
  • 举报
回复
mark,学习
qjoe0516 2004-07-28
  • 打赏
  • 举报
回复
up
zhangdi 2004-07-28
  • 打赏
  • 举报
回复
好,学习了。:D
samilly 2004-07-28
  • 打赏
  • 举报
回复
study
shoutor 2004-07-28
  • 打赏
  • 举报
回复
--showcode.aspx

<asp:Image id="Image1" runat="server" ImageUrl="Code.aspx"></asp:Image>

---code.aspx

<%@ import namespace="System"%>
<%@ import namespace="System.IO"%>
<%@ import namespace="System.Drawing"%>
<%@ import namespace="System.Drawing.Imaging"%>
<%@ import namespace="System.Drawing.Drawing2D"%>
<script language="C#" runat="server">
private Bitmap validateimage;
private Graphics g;
public void Page_Load(object Sender ,EventArgs e )
{
if (!IsPostBack){
string VNum =MakeValidateCode( );
Session["VNum"]=VNum;
ValidateCode(VNum);
}
}

public void ValidateCode(string VNum)
{
validateimage = new Bitmap(70, 20, PixelFormat.Format24bppRgb);
g = Graphics.FromImage(validateimage);

g.DrawString(VNum, new Font("宋体",15),new SolidBrush(Color.White),new PointF(8,0));
g.FillRectangle(new LinearGradientBrush(new Point(0,0), new Point(110,20), Color.FromArgb(0,0,0,0),Color.FromArgb(255,255,60,40)),0,0,120,30);
g.Save();
MemoryStream ms=new MemoryStream();
validateimage.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
Response.ClearContent();
Response.ContentType="image/gif";
Response.BinaryWrite(ms.ToArray());
Response.End();
}

string MakeValidateCode()
{
char[] s = 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'};
string num = "";
Random r = new Random();
for(int i = 0; i < 5; i++)
{
num += s[r.Next(0, s.Length)].ToString();
}
return num;
}
</script>
andrawsky 2004-07-28
  • 打赏
  • 举报
回复
string ValidateString=(string)Session["ValidateString"];
int height=20;
int length=ValidateString.Length*12;
System.Drawing.Bitmap image=new Bitmap(length,height);
System.Drawing.Graphics graphic=Graphics.FromImage(image);
graphic.DrawString(ValidateString,(new Font("Lucida Calligraphy",12)),(new SolidBrush(Color.Blue)),3,0);
MemoryStream stream=new MemoryStream();
image.Save(stream,ImageFormat.Png);
Response.ClearContent();
Response.BinaryWrite(stream.ToArray());
graphic.Dispose();
image.Dispose();
Response.End();
FrankYuo 2004-07-28
  • 打赏
  • 举报
回复
mark

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧