Maison développement back-end Tutoriel C#.Net asp.net génère un code de vérification (chinois pur)

asp.net génère un code de vérification (chinois pur)

Jan 13, 2017 pm 02:34 PM
验证码

using System; 
using System.Data; 
using System.Configuration; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
using System.Web.UI.HtmlControls; 
using System.Text; //添加引用 
using System.Drawing; //添加引用 
/// <summary> 
/// CheckCode_Ch 的摘要说明 
/// </summary> 
public class CheckCode_Ch 
{ 
public CheckCode_Ch() 
{ 
// 
// TODO: 在此处添加构造函数逻辑 
// 
} 
private static object[] CreateString() 
{ 
//定义一个数组存储汉字编码的组成元素 
string[] str = new string[16] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; 
Random ran = new Random(); //定义一个随机数对象 
object[] bytes = new object[4]; 
for (int i = 0; i < 4; i++) 
{ 
//获取区位码第一位 
int ran1 = ran.Next(11, 14); 
string str1 = str[ran1].Trim(); 
//获取区位码第二位并防止数据重复 
ran = new Random(ran1 * unchecked((int)DateTime.Now.Ticks) + i); 
int ran2; 
if (ran1 == 13) 
{ 
ran2 = ran.Next(0, 7); 
} 
else 
{ 
ran2 = ran.Next(0, 16); 
} 
string str2 = str[ran2].Trim(); 
//获取区位码第三位 
ran = new Random(ran2 * unchecked((int)DateTime.Now.Ticks) + i); 
int ran3 = ran.Next(10, 16); 
string str3 = str[ran3].Trim(); 
//获取区位码第四位 
ran = new Random(ran3 * unchecked((int)DateTime.Now.Ticks) + i); 
int ran4; 
if (ran3 == 10) 
{ 
ran4 = ran.Next(1, 16); 
} 
else if (ran3 == 15) 
{ 
ran4 = ran.Next(0, 15); 
} 
else 
{ 
ran4 = ran.Next(0, 16); 
} 
string str4 = str[ran4].Trim(); 
//定义字节变量存储产生的随机汉字区位码 
byte byte1 = Convert.ToByte(str1 + str2, 16); 
byte byte2 = Convert.ToByte(str3 + str4, 16); 
byte[] stradd = new byte[] { byte1, byte2 }; 
//将产生的汉字字节放入数组 
bytes.SetValue(stradd, i); 
} 
return bytes; 
} 
private static string GetString() 
{ 
Encoding gb = Encoding.GetEncoding("gb2312"); 
object[] bytes = CreateString(); 
//根据汉字字节解码出中文汉字 
string str1 = gb.GetString((byte[])Convert.ChangeType(bytes[0], typeof(byte[]))); 
string str2 = gb.GetString((byte[])Convert.ChangeType(bytes[1], typeof(byte[]))); 
string str3 = gb.GetString((byte[])Convert.ChangeType(bytes[2], typeof(byte[]))); 
string str4 = gb.GetString((byte[])Convert.ChangeType(bytes[3], typeof(byte[]))); 
string str = str1 + str2 + str3 + str4; 
HttpContext.Current.Response.Cookies.Add(new HttpCookie("CheckCode", str)); 
return str; 
} 
public static void GraphicsImage() 
{ 
System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((GetString().Length * 22.5)), 22); 
Graphics g = Graphics.FromImage(image); //创建画布 
try 
{ 
//生成随机生成器 
Random random = new Random(); 
//清空图片背景色 
g.Clear(Color.White); 
//画图片的背景噪音线 
for (int i = 0; i < 1; i++) 
{ 
int x1 = random.Next(image.Width); 
int x2 = random.Next(image.Width); 
int y1 = random.Next(image.Height); 
int y2 = random.Next(image.Height); 
g.DrawLine(new Pen(Color.Black), x1, y1, x2, y2); 
} 
Font font = new System.Drawing.Font("Couriew New", 12, System.Drawing.FontStyle.Bold); 
System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush 
(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true); 
g.DrawString(GetString(), font, brush, 2, 2); 
//画图片的前景噪音点 
for (int i = 0; i < 50; i++) 
{ 
int x = random.Next(image.Width); 
int y = random.Next(image.Height); 
image.SetPixel(x, y, Color.FromArgb(random.Next())); 
} 
//画图片的边框线 
g.DrawRectangle(new Pen(Color.Silver), 0, 0, image.Width - 1, image.Height - 1); 
System.IO.MemoryStream ms = new System.IO.MemoryStream(); 
image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); 
HttpContext.Current.Response.ClearContent(); 
HttpContext.Current.Response.ContentType = "image/Gif"; 
HttpContext.Current.Response.BinaryWrite(ms.ToArray()); 
} 
catch (Exception ms) 
{ 
HttpContext.Current.Response.Write(ms.Message); 
} 
} 
}
Copier après la connexion

La deuxième étape consiste à créer une page qui référence la bibliothèque de classes ChineseCheckCode.aspx. Il n'est pas nécessaire d'écrire du code dans le frontend et la bibliothèque de classes est référencée en arrière-plan. .

using System; 
using System.Collections; 
using System.Configuration; 
using System.Data; 
using System.Web; 
using System.Web.Security; 
using System.Web.UI; 
using System.Web.UI.HtmlControls; 
using System.Web.UI.WebControls; 
using System.Web.UI.WebControls.WebParts; 
public partial class UserValidator_ChineseCheckCode : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 
CheckCode_Ch.GraphicsImage(); //调用方法生成四位汉字验证码 
} 
}
Copier après la connexion

La troisième étape fait référence à la page de codes de vérification

<asp:TextBox ID="Validator" runat="server" Width="150px" ></asp:TextBox> 
<img id="Img1" alt="看不清,请点击我!" onclick="this.src=this.src+&#39;?&#39;" src="ChineseCheckCode.aspx" 
style="width: 75px; height: 24px" align="left" /> 
<asp:ImageButton ID="imgBtnLogin" runat="server" ImageUrl="~/Images/Login.GIF" 
OnClick="imgBtnLogin_Click" />
Copier après la connexion

Jugement backend

protected void imgBtnLogin_Click(object sender, ImageClickEventArgs e) 
{ 
HttpCookie cookie = Request.Cookies["CheckCode"]; 
if (cookie.Value == this.Validator.Text.Trim()) 
{ 
//。。。 
} 
else 
{ 
Response.Write("<script>alert(&#39;验证码输入错误,请重新输入!&#39;);Location=&#39;ChineseCodeValidator.aspx&#39;</script>"); 
return; 
} 
}
Copier après la connexion

Le code de vérification ci-dessus est généré avec quatre chiffres, veuillez faire modifications appropriées selon la situation.
Nous résumons maintenant la technologie des codes de vérification pour générer des nombres purs, des nombres et des lettres mixtes et des caractères chinois purs. J'espère que cela vous aidera. .

Pour plus d'articles sur le code de vérification généré par asp.net (chinois pur), veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Le navigateur Chrome n'affiche pas le code de vérification ? Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Le navigateur Chrome n'affiche pas le code de vérification ? Mar 13, 2024 pm 08:55 PM

Que dois-je faire si Google Chrome n'affiche pas l'image du code de vérification ? Lors de la connexion à une page Web à l'aide de Google Chrome, un code de vérification est parfois requis. Certains utilisateurs constatent que Google Chrome ne peut pas afficher correctement le contenu de l'image lorsqu'il utilise des codes de vérification d'image. Qu'est-ce qui devrait être fait? L'éditeur ci-dessous vous expliquera comment gérer le code de vérification de Google Chrome qui ne s'affiche pas. J'espère que cela sera utile à tout le monde ! Introduction à la méthode : 1. Entrez dans le logiciel, cliquez sur le bouton « Plus » dans le coin supérieur droit et sélectionnez « Paramètres » dans la liste d'options ci-dessous pour entrer. 2. Après être entré dans la nouvelle interface, cliquez sur l'option « Paramètres de confidentialité et sécurité » sur la gauche. 3. Cliquez ensuite sur « Paramètres du site Web » à droite

Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images Aug 17, 2023 pm 12:09 PM

Cas de traitement d'images PHP : Comment implémenter la fonction de code de vérification des images Avec le développement rapide d'Internet, les codes de vérification sont devenus l'un des moyens importants pour protéger la sécurité des sites Web. Le code de vérification est une méthode de vérification qui utilise la technologie de reconnaissance d'image pour déterminer si l'utilisateur est un utilisateur réel. Cet article expliquera comment utiliser PHP pour implémenter la fonction de code de vérification des images et sera accompagné d'exemples de code. Introduction Un code de vérification est une image contenant des caractères aléatoires. L'utilisateur doit saisir les caractères dans l'image pour réussir la vérification. Le processus principal de mise en œuvre du code de vérification consiste à générer des caractères aléatoires et à dessiner des caractères dans des images.

Les numéros virtuels peuvent-ils recevoir des codes de vérification ? Les numéros virtuels peuvent-ils recevoir des codes de vérification ? Jan 02, 2024 am 10:22 AM

Le numéro virtuel peut recevoir le code de vérification. Tant que le numéro de téléphone mobile renseigné lors de l'inscription est conforme à la réglementation et que le numéro de téléphone mobile peut être connecté normalement, vous pouvez recevoir le code de vérification par SMS. Cependant, vous devez être prudent lorsque vous utilisez des numéros de téléphone mobile virtuels. Certains sites Web ne prennent pas en charge l'enregistrement de numéros de téléphone mobile virtuels, vous devez donc choisir un fournisseur de services de numéro de téléphone mobile virtuel classique.

Pourquoi ne puis-je pas recevoir le code de vérification sur mon téléphone ? Pourquoi ne puis-je pas recevoir le code de vérification sur mon téléphone ? Aug 17, 2023 pm 02:49 PM

L'incapacité de recevoir le code de vérification sur votre téléphone mobile est causée par des problèmes de réseau, des problèmes de paramètres du téléphone mobile, des problèmes d'opérateur de téléphonie mobile et des problèmes de paramètres personnels. Introduction détaillée : 1. Problèmes de réseau. L'environnement réseau dans lequel se trouve le téléphone mobile est instable ou le signal est faible, ce qui peut empêcher la livraison du code de vérification à temps. 2. Problèmes de configuration du téléphone mobile. ou la fonction vocale du téléphone mobile est accidentellement désactivée, ou le numéro d'envoi du code de vérification est ajouté à la liste noire, ce qui fait que le code de vérification n'est pas reçu normalement 3. Problèmes d'opérateur de téléphonie mobile, l'opérateur de téléphonie mobile peut avoir ; dysfonctionnements ou maintenance, entraînant la non-livraison du code de vérification à temps, etc.

Guide de développement PHP : implémentation de la connexion par code de vérification Guide de développement PHP : implémentation de la connexion par code de vérification Jul 01, 2023 am 09:27 AM

Avec le développement d'Internet et la popularité des smartphones, la fonction de connexion par code de vérification est adoptée par de plus en plus de sites Web et d'applications. La connexion par code de vérification est une méthode de connexion qui vérifie l'identité de l'utilisateur en saisissant le code de vérification correct pour améliorer la sécurité et prévenir les attaques malveillantes. Dans le développement PHP, la mise en œuvre d'une simple fonction de connexion par code de vérification n'est pas compliquée et peut être réalisée via les étapes suivantes. Créer une table de base de données Tout d'abord, nous devons créer une table dans la base de données pour stocker les informations du code de vérification. La structure du tableau peut contenir les champs suivants : id : clé primaire à incrémentation automatique du téléphone

Les codes de vérification ne peuvent pas arrêter les robots ! L'IA de Google peut identifier avec précision le texte flou, tandis que GPT-4 fait semblant d'être aveugle et demande de l'aide Les codes de vérification ne peuvent pas arrêter les robots ! L'IA de Google peut identifier avec précision le texte flou, tandis que GPT-4 fait semblant d'être aveugle et demande de l'aide Apr 12, 2023 am 09:46 AM

"Le plus ennuyeux, ce sont toutes sortes de codes de vérification bizarres (voire pervertis) lorsque vous vous connectez à un site Web. Maintenant, il y a de bonnes et de mauvaises nouvelles. " La bonne nouvelle est que l’IA peut le faire pour vous. Si vous ne me croyez pas, voici trois cas réels de difficulté croissante de reconnaissance : Et voici les réponses données par un modèle appelé « Pix2Struct » : Sont-ils tous précis et mot pour mot ? Certains internautes ont déploré : Bien sûr, la précision est meilleure que la mienne. Alors, peut-il être transformé en plug-in de navigateur ? ? Oui, certaines personnes ont dit : même si ces cas sont relativement simples, si vous les ajustez simplement, je ne peux pas imaginer à quel point l'effet sera puissant. La mauvaise nouvelle est donc que le code de vérification ne pourra bientôt plus arrêter les robots ! (Danger danger danger...) Comment faire ? Pix2St

Comment créer une image de code de vérification en utilisant PHP ? Comment créer une image de code de vérification en utilisant PHP ? Sep 13, 2023 am 11:40 AM

Comment créer une image de code de vérification en utilisant PHP ? CAPTCHA est une méthode couramment utilisée pour vérifier si l'utilisateur est un humain et non une machine. Sur les sites Web, nous voyons souvent des images de codes de vérification, qui obligent les utilisateurs à saisir des caractères ou des chiffres aléatoires affichés sur l'image pour effectuer des opérations telles que la connexion, l'enregistrement et les commentaires. Cet article explique comment utiliser PHP pour créer une image de code de vérification et fournit des exemples de code spécifiques. 1. Bibliothèque PHPGD Pour créer une image de code de vérification, nous devons utiliser la bibliothèque GD de PHP. La bibliothèque GD est une extension de traitement d'images.

Utilisez la technologie OCR pour identifier automatiquement divers codes de vérification, et l'outil est open source Utilisez la technologie OCR pour identifier automatiquement divers codes de vérification, et l'outil est open source May 25, 2023 am 10:07 AM

Aujourd'hui, je partage avec vous une application OCR : ddddocr reconnaît automatiquement les codes de vérification. Les quatre premiers d sont le premier pinyin de « Daidai Young Brother ». [/Rire]. Adresse du projet : https://github.com/sml2h3/ddddocr. Lorsque vous l'utilisez, utilisez la commande pip pour l'installer directement, simplement pipinstalldddddocr. La technologie de base de l'OCR comprend deux aspects : l'un est le modèle de détection de cible pour détecter le texte dans l'image, et l'autre est le modèle de reconnaissance de texte pour convertir le texte de l'image en texte. Le premier type de codes de vérification est le plus simple. Ils n'ont pas d'images d'arrière-plan complexes, le modèle de détection de cible peut donc être omis et les images peuvent être directement envoyées au modèle de reconnaissance de texte. Le code d'identification est le suivant : import

See all articles