C# 实现验证码 + 登录的整合案例

简介: 整合图形验证码与用户登录功能,实现安全的登录验证流程。系统生成验证码图片并校验输入,结合用户名密码双重验证,提升账户安全性,有效防止自动化攻击。

将图形验证码和用户登录功能整合,实现带验证码的登录验证流程。
public class CaptchaLoginSystem
{
// 生成图形验证码并返回验证码文本
public static string GenerateCaptchaImage(string outputPath)
{
var captcha = CaptchaDemo.GenerateCaptcha(4);
// 调用之前的图形验证码生成方法
WinFormsCaptcha.GenerateCaptchaImage(captcha, outputPath);
return captcha;
}

// 登录验证(用户名+密码+验证码)
public static bool Login(string username, string password, string inputCaptcha, string realCaptcha)
{
    // 验证验证码
    if (!string.Equals(inputCaptcha, realCaptcha, StringComparison.OrdinalIgnoreCase))
    {
        Console.WriteLine("验证码错误!");
        return false;
    }
    // 验证用户名密码
    return LoginSystem.Login(username, password);
}

// 调用示例
public static void TestLogin()
{
    string captchaPath = "captcha.png";
    string realCaptcha = GenerateCaptchaImage(captchaPath);
    Console.WriteLine("验证码图片已生成,请查看: " + captchaPath);

    Console.Write("用户名: ");
    string user = Console.ReadLine();
    Console.Write("密码: ");
    string pwd = Console.ReadLine();
    Console.Write("验证码: ");
    string inputCaptcha = Console.ReadLine();

    bool success = Login(user, pwd, inputCaptcha, realCaptcha);
    Console.WriteLine(success ? "登录成功" : "登录失败");
}

}

相关文章
|
3月前
|
存储 算法 C#
C# 哈希值计算:MD5/SHA256 加密
本示例展示了C#中使用MD5和SHA256算法生成哈希值的方法,适用于密码加密与数据校验。MD5安全性较低,建议仅用于非敏感场景;密码存储推荐使用SHA256配合盐值以增强安全性。
|
3月前
|
存储 安全 C#
C# 实现简单的登录验证系统
本系统通过用户名密码验证实现安全登录,采用SHA256加盐值哈希加密存储密码,防止明文泄露。结合注册与登录功能,确保用户身份安全,有效抵御密码还原攻击。
|
7月前
|
网络协议 网络安全 API
C# 与三菱FX5U PLC通讯交互指南
C# 与三菱FX5U PLC通讯交互指南
2559 121
|
物联网 C#
【C#】简单的蓝牙通讯功能实现
【C#】简单的蓝牙通讯功能实现
992 0
|
Docker 容器
docker 安装cloudreve
docker 安装cloudreve
385 2
|
XML JSON 程序员
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点
493 0
|
C# 容器
Winform控件优化之TabControl控件的美化和功能扩展
在基本的TabControl控件使用和功能之上,可以尝试对其进行美化和功能扩展,比如动态删除或添加tab、绘制图标按钮及鼠标hover时的背景变化、Tab从右向左布局的优化处理等。最重要...
3989 0
Winform控件优化之TabControl控件的美化和功能扩展
|
数据库 C# 数据库管理
C#:Winfrom 实现DataGridView 自定义分页
今天给大家分享Winform实现DataGridView 自定义分页的案例,感兴趣的朋友可以一起来学习一下。 采用技术:C\#+Winform+Dapper+SQLite。
C#:Winfrom 实现DataGridView 自定义分页
|
4月前
|
云安全 人工智能 算法
以“AI对抗AI”,阿里云验证码进入2.0时代
三层立体防护,用大模型打赢人机攻防战
1727 10

热门文章

最新文章