国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

MVC驗證碼的編寫

2019-11-17 01:30:18
字體:
來源:轉載
供稿:網友

MVC驗證碼的編寫

主要是相互學習一下mvc,希望各位大神指導

 1 /// <summary> 2         /// 生成隨機數(shù)字 3         /// </summary> 4         /// <returns>隨機數(shù)字</returns> 5         public string GetCode(int len = 4) 6         { 7             string strCode = string.Empty; 8             char code; 9             int num;10             Random rnd = new Random();11             for (int i = 0; i < len; i++)12             {13                 num = rnd.Next();14                 if (num % 2 == 0)15                 {16                     code = (char)('0' + (char)(num % 10));17                 }18                 else19                 {20                     //code = (char)('0' + (char)(num % 10));21                    code = (char)('A' + (char)(num % 26));22                 }23                 strCode += code.ToString();24             }25             return strCode;26         }
生成隨機數(shù)
 1         /// <summary> 2         /// 生成驗證碼(保存驗證碼到圖片) 3         /// </summary> 4         /// <returns>二進制</returns> 5         public byte[] PRocessRequestImage(string validateCode) 6         { 7  8             HttpContext context = HttpContext.Current; 9             using (Bitmap bmp = new Bitmap(validateCode.Length * 15 + 10, 28))10             {11                 Graphics g = Graphics.FromImage(bmp);12                 g.Clear(Color.White);13                 Random rnd = new Random();14                 for (int i = 0; i < 2; i++)15                 {16                     int x1 = rnd.Next(bmp.Width);17                     int y1 = rnd.Next(bmp.Height);18                     int x2 = rnd.Next(bmp.Width);19                     int y2 = rnd.Next(bmp.Height);20                     g.DrawLine(new Pen(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))), x1, y1, x2, y2);21                 }22                 g.DrawRectangle(new Pen(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))), new Rectangle(0, 0, bmp.Width - 1, bmp.Height - 1));23                 for (int i = 0; i < 25; i++)24                 {25                     bmp.SetPixel(rnd.Next(bmp.Width), rnd.Next(bmp.Height), Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255)));26                 }27                 for (int i = 0; i < validateCode.Length; i++)28                 {29                     FontFamily[] familys = FontFamily.Families;30                     FontFamily family = familys[rnd.Next(familys.Length)];31                     g.DrawString(validateCode[i].ToString(), new Font(family, 14, FontStyle.Bold), new SolidBrush(Color.FromArgb(rnd.Next(255), rnd.Next(255), rnd.Next(255))), new PointF(1 + i * 15, 1));32                 }33 34                 //保存圖片數(shù)據35                 MemoryStream stream = new MemoryStream();36                 bmp.Save(stream, ImageFormat.Jpeg);37 38                 //  輸出圖片流39                 return stream.ToArray();40             }41         }
生成驗證碼圖片
 1      /// <summary> 2         /// 驗證碼 3         /// </summary> 4         /// <returns></returns>  5         public ActionResult VerifyCode() 6         { 7             h.Base.Public.SecurityCode seCode = new h.Base.Public.SecurityCode(); 8             var code = seCode.GetCode(); 9             session["code"] = code;10             var bytes = seCode.ProcessRequestImage(code);11             return File(bytes, "image/jpeg");12         }
控制器代碼
 1   <div class="pdiv"> 2                 <input type="image" id="valiCode"     src="/Based/VerifyCode" /> 3 </div> 4  5 <script> 6     (function () { 7   //刷新驗證碼 8         var codeUrl = "/Based/VerifyCode"; 9         $(valiCode).on("click", function () {10             this.src = codeUrl + "?time=" + (new Date()).getTime();11         });12 13     })(jQuery)14 </script>
view視圖代碼

這段代碼我測試過了。。 是可以通過的。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 宝清县| 正蓝旗| 双江| 紫金县| 平定县| 泾源县| 合川市| 霍邱县| 离岛区| 山东省| 巴彦淖尔市| 靖远县| 东乌| 台州市| 武胜县| 武山县| 新绛县| 广西| 青铜峡市| 八宿县| 龙川县| 同仁县| 横山县| 黄龙县| 宁海县| 交城县| 嘉荫县| 兰州市| 西青区| 武宁县| 五台县| 肇东市| 安陆市| 焦作市| 哈巴河县| 长春市| 晋江市| 阜康市| 南陵县| 北流市| 民丰县|