Colección de citas famosas - Frases elegantes - Código SMS del sitio web móvil

Código SMS del sitio web móvil

Cuando diseñamos el módulo de inicio de sesión del usuario, a menudo utilizamos códigos de verificación, que pueden prevenir eficazmente el descifrado malicioso por parte de software de piratas informáticos. Ahora publicaré el código fuente de mis códigos de verificación de uso común.

Cómo utilizar:

1. Agregue una clase al proyecto web, como "CreateImage.cs", y luego copie el código fuente que publiqué

<; p>2. Cree un nuevo formulario web como "Image.aspx" y agregue el código "CreateImage". DrawImage()" a Page_Load. ¡¡Por supuesto, no olvides agregar una referencia a esta clase!!

3. Puedes agregar el siguiente código javascript a la ubicación adecuada de la página (donde quieras). para colocar el código de verificación

El código fuente es el siguiente:

[csharp] Ver texto sin formato

///

///Módulo de código de verificación

///

Clase pública CreateImage

{

Vacío estático público DrawImage()

{

crear imagen img = nueva crear imagen();

HttpContext.session["verificar código"] = imgrnd num(4);

img.Image(HttpContext. Sesión actual ["CheckCode"]. ToString());

}

///

/// Generar imagen de verificación

p>

///

///Caracteres de verificación

CreateImages nulo privado (código de verificación de cadena)

{

int iwidth = (int)(checkCode.length*13);

System.BitmapImage = new System.Bitmap(iwidth, 23);

Gráficos g = Gráficos. De Imagen (imagen);

g. Transparente (color. Blanco

//Definir color

Color[]c = { Color); . Rojo, color Verde, color. Marrón, color.

string【】font = {"verdana","Microsoft sans serif","Comic sans ms","Arial","Song Ti" };

Random rand = new Random();

//Ruido de salida aleatorio

for(int I = 0;i<50;i++)

{

int x = rand.next(imagen.ancho);

int y = rand.next(imagen.altura);

g.DrawRectangle(nueva pluma(color. Gris claro, 0), x, y, 1, 1);

}

//Emite caracteres del código de verificación en diferentes fuentes y colores.

for(int I = 0; i

{

int cindex = rand. next(7);

int findex = rand.Next(5);

Fuente f = nuevo sistema. fuente (fuente [findex], 10, sistema. dibujo. estilo de fuente. negrita

Flash b = nuevo); sistema.

dibujo pincel sólido (c【cindex】);

int ii = 4

if ((I+1)% 2 = = 0)

{

ii = 2;

}

g. Tirar de la cuerda (ver código. subcadena (I, 1), f, b, 3+ ( I * 12), ii);

}

//Dibuja el borde

g.DrawRectangle(new Pen(Color. Black, 0), 0, 0 imagen. Ancho - 1, altura de la imagen - 1);

//Salida al navegador

Sistema. IO .memorystreamms = nuevo sistema. IO.memorystream();

Imagen. Guardar (ms, sistema. dibujo. imagen. formato de imagen. JPEG);

HttpContext. respuesta actual. contenido claro();

//Respuesta. borrar contenido();

HttpContext. respuesta actual. tipo de contenido = "imagen/Jpeg";

HttpContext. respuesta actual. escritura binaria (ms. ToArray());

g.dispose(); dispose();

}

///

///Generar letras aleatorias

///

///Número de letras generadas

///Cadena

Cadena privada rnd num (int VcodeNum)

{

cadena Vchar = "0, 1, 2, 3, 4, 5, 6, 7, 8, 9";

cadena[]matriz VC = Vchar. Split(', ');

String VNum = ""; // Debido a que la cadena es corta, no se necesita StringBuilder.

int temp =-1; //Registra el último número aleatorio e intenta evitar generar varios números aleatorios idénticos.

//Utiliza un algoritmo simple para asegurar la diferencia de números aleatorios generados.

Rand aleatorio = new Random();

for(int I = 1;i<VcodeNum+1;i++)

{

if(temp!= -1)

{

rand = new Random(I *temp*unchecked((int)DateTime.now.Ticks));

}

int t = rand. next(VcArray.length);

if (temp!=-1&&temperature==t)

{

return rnd num (VcodeNum);

}

temp = t;

VNum+= matriz VC[t];

}

Devolver VNum

}

}