以下是一个简单的C#验证码示例:
private void GenerateCaptcha()
{string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";Random random = new Random();string captchaString = new string(Enumerable.Repeat(chars, 6).Select(s => s[random.Next(s.Length)]).ToArray());Bitmap bitmap = new Bitmap(120, 40);Graphics graphics = Graphics.FromImage(bitmap);graphics.Clear(Color.White);Font font = new Font("Arial", 24);Brush brush = Brushes.Black;graphics.DrawString(captchaString, font, brush, 10, 5);Pen pen = new Pen(Color.Black);for (int i = 0; i < 100; i++){int x = random.Next(bitmap.Width);int y = random.Next(bitmap.Height);bitmap.SetPixel(x, y, Color.FromArgb(random.Next(256), random.Next(256), random.Next(256)));}imgCaptcha.Image = bitmap;ViewState["Captcha"] = captchaString;
}
以上代码生成一个6个字符的随机字符串作为验证码,然后生成一个120 x 40的图像,并在图像中插入验证码文本。此外,还添加了随机噪点来提高验证码的安全性。
在ASP.NET Web Forms应用程序中,此代码示例使用了一个imgCaptcha图片控件来显示验证码图像,并使用ViewState来保存验证码字符串。在提交表单时,可以使用用户输入的文本与保存的验证码进行比较来验证验证码是否正确。