Cómo escribir el código de verificación
A medida que la tecnología de descifrado se vuelve cada vez más madura, las imágenes simples son fáciles de identificar, por lo que necesitamos "cifrar" las imágenes. Mi idea es usar un cuadro de imagen para generar el código de verificación, y luego usar la función de dibujo de VB para describir el código de verificación de una manera extraña, y luego agregar aleatoriamente un fondo desordenado, para que solo los humanos puedan reconocerlo y descifrarlo con fuerza bruta. el software no puede hacer nada. Es importante tener en cuenta que nuestro algoritmo debería facilitar a los usuarios la separación del código de verificación del color de fondo.
Diseño de algoritmo
1. Diseño formal
Inicie VB6 y cree un nuevo proyecto EXE estándar, organice los controles y establezca el nombre.
Luego establezca la propiedad AutoRedraw de los dos cuadros de imagen en True, establezca la propiedad Enabled de txt_inp y cmd_browse en False y establezca la propiedad Maxlength de txt_inp en 10. Luego haga clic en "Proyecto → Piezas" y marque "Microsoft Common Dialog Control 6.0".
2. Algoritmo
El proceso de cifrado es el foco del programa. Aquí usamos funciones de dibujo de líneas y puntos para procesar la imagen. Seleccione aleatoriamente dos puntos en el marco de la imagen para dibujar una línea recta y use una función aleatoria para determinar su color. Haga clic aleatoriamente en un punto y use una función aleatoria para determinar su color. color. Aquí también utilizamos estilos de fuente y colores de fondo aleatorios, pero cabe señalar que los colores de fondo y de fuente son bastante diferentes. Debido a que cuanto mayor es el valor de cada componente RBG, más oscuro es el color, podemos usar las siguientes dos oraciones para mejorar el contraste de color:
pic_las. Color frontal = RGB(Rnd * 255, Rnd * 255, Rnd * 255)
pic_las. BackColor = RGB(Rnd * 55, Rnd * 55, Rnd * 55)
El código específico para dibujar la imagen es el siguiente:
Sub AddPas()
Cuando ocurre un error Vaya a Err1
pic_las. Espacio de impresión (10 - Len(resultado)); resultado
Dim x, y, x1, x2, I es un número entero
Determina aleatoriamente el estilo de fuente de salida
pic_las. FontItalic = Int(Rnd * 2)
pic_las. FontUnderline = Int(Rnd * 2)
pic_las. ForeColor = RGB(Rnd * 155 100, Rnd * 155 100, Rnd * 155 100)
Agregue una línea aleatoria al código de verificación.
para I = 1 To(Int(Rnd(1)* 8) 1)
x = Int(Rnd * pic_las. Ancho): y = Int(Rnd * pic_las. alto)
x1 = Int(Rnd * pic_las. ancho): y 1 = Int(Rnd * pic_las. alto)
pic_las. Línea (x, y)-(x1, Y1), RGB (Rnd * 255, Rnd * 255, Rnd * 255)
A continuación
agrego puntos aleatorios al código de verificación .
para I = 1 To(Int(Rnd(1)* 200) 100)
pic_las. PSet (pic_las. ancho * Rnd, pic_las.
Height * Rnd),_
RGB(Rnd * 255, Rnd * 255, Rnd * 255)
A continuación
escribo el archivo de salida
p>
si chk_file. Entonces valor = 1
Guarda la imagen pic_las. imagen, txt_outfile. Text
MsgBox" El código de verificación se ha guardado en: "txt_outfile. Texto, mensaje VB
Terminará si...
Salir del conector
Err1: "Ocurrió un error.
Error de MsgBox. Cantidad y Cantidad ":" Descripción, signo de exclamación VB
Conector final
.