asp.net core3.1 實戰開發(驗證碼的封裝和使用)
封裝
public class VerifyCodeHelper
{
public static Bitmap CreateVerifyCode(out string code)
{
//建立Bitmap物件,繪圖
Bitmap bitmap = new Bitmap(200, 60);
Graphics graph = Graphics.FromImage(bitmap);
graph.FillRectangle(new SolidBrush(Color.White), 0, 0, 200, 60);
Font font = new Font(FontFamily.GenericSerif, 48, FontStyle.Bold, GraphicsUnit.Pixel);
Random r = new Random();
string letters = "ABCDEFGHIJKLMNPQRSTUVWXYZ0123456789";
StringBuilder sb = new StringBuilder();
//新增隨機的五個字母
for (int x = 0; x < 5; x++)
{
string letter = letters.Substring(r.Next(0, letters.Length - 1), 1);
sb.Append(letter);
graph.DrawString(letter, font, new SolidBrush(Color.Black), x * 38, r.Next(0, 15));
}
code = sb.ToString();
//混淆背景
Pen linePen = new Pen(new SolidBrush(Color.Black), 2);
for (int x = 0; x < 6; x++)
graph.DrawLine(linePen, new Point(r.Next(0, 199), r.Next(0, 59)), new Point(r.Next(0, 199), r.Next(0, 59)));
return bitmap;
}
}
使用
public ActionResult VerifyCode()
{
string code = "";
Bitmap bitmap = VerifyCodeHelper.CreateVerifyCode(out code);
base.HttpContext.Session.SetString("CheckCode", code);
MemoryStream stream = new MemoryStream();
bitmap.Save(stream, ImageFormat.Gif);
return File(stream.ToArray(), "image/gif");
}
相關文章
- asp.net core3.1 實戰開發(授權,鑑權封裝詳解)ASP.NET封裝
- iOS開發 - 隨機圖片驗證碼封裝iOS隨機封裝
- asp.net core3.1 實戰開發(中介軟體的詳解)ASP.NET
- ASP.NET MVC許可權驗證 封裝類ASP.NETMVC封裝
- 直播軟體app開發,flutter 驗證碼輸入框的簡單封裝APPFlutter封裝
- 自用驗證類封裝封裝
- 【Hover】ASP.Net實現驗證碼!ASP.NET
- 探索Django驗證碼功能的實現 - DjangoStarter專案模板裡的封裝Django封裝
- 短視訊平臺原始碼,取驗證碼 封裝全部封裝好直接呼叫原始碼封裝
- PHP算式驗證碼和漢字驗證碼的實現方法PHP
- Flutter 驗證碼倒數計時Widget封裝Flutter封裝
- SpringCloud微服務實戰——搭建企業級開發框架(二十四):整合行為驗證碼和圖片驗證碼實現登入功能SpringGCCloud微服務框架
- 在ASP.NET下實現數字和字元相混合的驗證碼ASP.NET字元
- Asp.net(C#)實現驗證碼功能ASP.NETC#
- 實戰apache使用者驗證(轉)Apache
- 從0到1使用VUE-CLI3開發實戰(四): Axios封裝VueiOS封裝
- 敏捷開發的實戰經驗敏捷
- asp.net 角色身份驗證的使用ASP.NET
- (精華2020年6月24日更新)asp.net core3.1實戰篇 RabbitMQ的使用一(安裝Erlang)ASP.NETMQ
- 在ASP.NET下實現數字和字元相混合的驗證碼 (轉)ASP.NET字元
- asp.net驗證碼應用ASP.NET
- ASP.NET MVC驗證碼演示ASP.NETMVC
- ASP.NET MVC中使用FluentValidation驗證實體ASP.NETMVC
- 「Vue實戰」武裝你的專案 - 開發經驗分享Vue
- 基於 CNN 的驗證碼破解實戰專案CNN
- ASP.NET驗證控制元件的使用ASP.NET控制元件
- 直播app系統原始碼,flutter 驗證碼輸入框的簡單封裝APP原始碼Flutter封裝
- Android開發:使用AutoInputAuthCode快速實現自動填寫驗證碼Android
- uniapp實戰——封裝商品列表元件並使用APP封裝元件
- 在ASP.NET MVC中使用Knockout實踐06,自定義驗證、非同步驗證ASP.NETMVC非同步
- 模板化的封裝,降低業務程式碼開發封裝
- Node教程——封裝一個token驗證器封裝
- JavaScript驗證碼生成和驗證效果JavaScript
- 敏捷開發的6個實戰經驗敏捷
- Laravel 介面開發中的驗證碼註冊Laravel
- flask專案1實戰:2.2 flask框架下使用圖片驗證碼Flask框架
- 幾種開發時安全驗證的實現
- 封裝JDBC—非框架開發必備的封裝類封裝JDBC框架