C# ASP.NET 验证码
时间: 2023-07-12 07:21:43 浏览: 56
C# ASP.NET 中可以使用以下代码生成验证码:
```csharp
public ActionResult GetCaptchaImage()
{
var captchaText = GenerateCaptchaText();
var width = 150;
var height = 40;
var fontName = "Arial";
var fontSize = 20;
using (var bitmap = new Bitmap(width, height))
{
using (var graphics = Graphics.FromImage(bitmap))
{
graphics.Clear(Color.White);
using (var font = new Font(fontName, fontSize))
{
graphics.DrawString(captchaText, font, Brushes.Black, 10, 10);
}
using (var ms = new MemoryStream())
{
bitmap.Save(ms, ImageFormat.Png);
var captchaBytes = ms.ToArray();
return File(captchaBytes, "image/png");
}
}
}
}
private string GenerateCaptchaText()
{
var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var random = new Random();
var captchaText = new string(
Enumerable.Repeat(chars, 6)
.Select(s => s[random.Next(s.Length)])
.ToArray());
return captchaText;
}
```
这段代码会生成一个包含随机文本的验证码图片,并以 PNG 格式返回给客户端。在客户端页面中,可以使用 `<img>` 标签显示验证码图片,并在提交表单时将用户输入的验证码与生成的验证码进行比较来验证用户身份。