ساخت تصویر امنیتی در Asp.Net
ساخت تصویر امنیتی در Asp.Net
برای ساخت تصویر امنیتی ما از روش ساده تر برای این کار استفاده می کنیم که خیلی بهتر از روش های دیگر است.
برای ساخت تصویر امنیتی در ASP.NET ما اول از همه باید فضای های نام مورد نظر رو برای استفاده از کلاس های مربوطه فراخوانی کنیم
using System.Drawing; using System.Drawing.Imaging;
ما برای ایجاد کد امنیتی از حروف بزرگ انگلیسی و اعداد استفاده کردیم
ابتدا یک آرایه تعریف کرده و کل حروف انگلیسی و اعداد را داخل آن میریزیم و سپس تعداد حروفی که می خواهیم نمایش دهد برایش object تعریف می کنیم و سپس از دستور random برای تولید عدد برای انتخاب از قسمت مشخصی از آرایه انتخاب می کنیم که این کار را دستور substring انجام می دهد.
string code = "ABCDEFGHIGKLMNOPQRSTUVWXYZ1234567890"; Random rand = new Random(); object code1 = rand.Next(1, 36); object code2 = rand.Next(1, 36); object code3 = rand.Next(1, 36); object code4 = rand.Next(1, 36); object code5 = rand.Next(1, 36); object code6 = rand.Next(1, 36); string newcode1 = code.Substring(Convert.ToInt32(code1), 1); string newcode2 = code.Substring(Convert.ToInt32(code2), 1); string newcode3 = code.Substring(Convert.ToInt32(code3), 1); string newcode4 = code.Substring(Convert.ToInt32(code4), 1); string newcode5 = code.Substring(Convert.ToInt32(code5), 1); string newcode6 = code.Substring(Convert.ToInt32(code6), 1); showcode =newcode1 + newcode2 + newcode3 + newcode4 + newcode5 + newcode6;
برای تبدل این کد به عکس از دستور زیر استفاده می کنیم که به نوشته خود فونت و style می دهیم و سپس آن را در مسیر مشخص save می کنیم
همچنین ما باید یک عکس داشته باشیم تا نوشته روی آن نمایش داده شود و ذخیره کند که ما از یک عکس نام آن code.jpg است.
Bitmap SecImage =new Bitmap(Server.MapPath("code.jpg")); Graphics Graphics = Graphics.FromImage(SecImage); Graphics.DrawString(showcode.ToString(), new Font("arial", 13, FontStyle.Strikeout), new SolidBrush(Color.White), new PointF(3, 5)); SecImage.Save(Server.MapPath("codesave.jpg")); imgcode.ImageUrl = "codesave.jpg";
نظر / سوال