Se encuentran muchos lugares donde se necesitan códigos de verificación cuando se usan el nodo para el desarrollo web. Anteriormente, buscado en GitHub, había algunas bibliotecas de clase como Node-Captcha, que dependen de bibliotecas o software de procesamiento de gráficos de terceros. Por ejemplo, cuando instalé la biblioteca de gráficos Cario, fue mucho esfuerzo, pero de hecho solo usamos un poco de las pequeñas funciones de estas bibliotecas gráficas, como modificar y recortar el tamaño de la imagen, o producir códigos de verificación.
Primero presentemos la biblioteca de gráficos CIMG C ++. CIMG es una biblioteca de procesamiento de imágenes C ++ multiplataforma que proporciona una serie de funciones como la carga, el procesamiento, la visualización y el ahorro. Lo más atractivo es que toda la biblioteca de gráficos es solo un archivo CIMG.H, por lo que es muy portátil, verde y ecológico. Se puede compilar y utilizar en cualquier lugar que vaya sin instalar una gran dependencia de push. Así que quería usar esta biblioteca de gráficos CIMG para hacer una demostración simple, comenzando con la función de implementar el código de verificación y, por supuesto, puedo usar por completo esta biblioteca para hacer otras funciones, como las imágenes de recorte.
El módulo CCAP se basa en la encapsulación de la biblioteca de gráficos CIMG, lo que permite usarlo por nodo. Debido a la portabilidad de la biblioteca de gráficos CIMG, el módulo CCAP puede funcionar de forma independiente sin confiar en ninguna otra biblioteca o software de terceros. En otras palabras, si solo desea generar un código de verificación simple, solo requiere el módulo CCAP.
1. Instalación:
Método general: NPM Instalar CCAP
O descargarlo a través de Github, dirección: https://github.com/doublespout/ccap
Nota: Puede haber errores durante el proceso de instalación. Instale el paquete de dependencia correspondiente de acuerdo con el mensaje de error.
2. Rendimiento:
La velocidad de generar códigos de verificación en un servidor de 2CPU Linux de 64 bits puede alcanzar 1200 veces/seg. La imagen generada por la prueba es BMP. La velocidad de generación de código de verificación de imagen JPEG es de aproximadamente 600 veces/seg.
3. Método de declaración:
La copia del código es la siguiente:
var ccap = request ('ccap');
var captcha1 = ccap ();
var captcha2 = ccap (ancho, altura, desplazamiento);
var captcha3 = ccap ({
Ancho: 256, // Establecer ancho, el valor predeterminado es 256
Una clase CCAP se puede instanciar a través del código anterior. 1. No se pasan parámetros, todos los parámetros predeterminados se utilizan para generar códigos de verificación. 2. Solo pase el ancho, la altura y la compensación para instanciar, ajustar el tamaño de la imagen y el intervalo entre los caracteres en la imagen 3. Pase un objeto. Además del ancho, la altura y el desplazamiento, también pasa la calidad de la imagen y el método para generar números aleatorios. El módulo CCAP utilizará la cadena devuelta por la función personalizada como contenido del código de verificación de imagen. El valor predeterminado es 0-9 y se seguirá la cadena de 6 bits de AZ.
En teoría, se pueden producir muchas instancias CCAP diferentes, y no tienen influencia entre sí, por lo que incluso si comienza los nodos de procesos múltiples a través del clúster y produce códigos de verificación al mismo tiempo, no hay impacto en bloquearse entre sí.
La calidad de imagen solo es válida para las imágenes JPEG. Si no se instala la biblioteca JPEG lib, solo puede usar gráficos BMP sin comprimir, que es relativamente grande, pero la velocidad de generación es relativamente rápida.
4. Use el método, get ()::
La copia del código es la siguiente:
Altura: 60, // Altura establecida, el valor predeterminado es 60
Offset: 40, // Establecer espaciado de texto, el valor predeterminado es 40
Calidad: 100, // establecer la calidad de la imagen, el valor predeterminado es 50
generar: function () {// personalizado la función para generar el texto Captcha
// Generar texto de captcha aquí
devolver texto; // Devuelve el texto de Captcha
}
});
Después de instancias de la clase CCAP, obtendrá el objeto Captcha. Este objeto tiene solo un método externo, get (). Cada vez que se llama a este método, devolverá el búfer de código de verificación y el contenido de cadena de texto correspondiente, y lo guardará en una matriz, con una estructura similar a esta:
La copia del código es la siguiente:
["Texto de Captcha", "Buffer de imágenes"]
5. Un simple ejemplo web:
La copia del código es la siguiente:
var http = require ('http');
var ccap = require ('ccap') (); // clase CCAP instanciada
http.createServer (función (solicitud, respuesta) {
if (request.url == '/favicon.iCo')Return Response.end (' '); // Intercept Sold favicon.ico
var ary = ccap.get ();
var txt = ary [0];
var buf = ary [1];
respuesta.end (BUF);
console.log (txt);
}). Escuchar (8124);
console.log ('servidor que se ejecuta en http://127.0.0.1:8124/');
Nota: Algunos parámetros del código se pueden modificar de acuerdo con su propio entorno.