Red de conocimiento informático - Material del sitio web - ¿Cómo escribir un código de verificación gráfico basado en Node.js?

¿Cómo escribir un código de verificación gráfico basado en Node.js?

Para crear un captcha gráfico en Node.js, puedes utilizar las bibliotecas canvas y crypto. Primero, asegúrese de tener ambas bibliotecas instaladas.

Ejecute el siguiente comando en el directorio del proyecto:

npm install canvas

A continuación, cree un archivo llamado captcha.js y siga estos pasos para escribir el código:

Introduzca las bibliotecas requeridas:

const { createCanvas } = require('canvas');

const crypto = require('crypto');

Crear una función que genera una cadena aleatoria:

función generateRandomString(length) {

caracteres constantes = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';

let result = ''; p>

for (let i = 0; i < length; i++) {

resultado += caracteres.charAt(Math.floor(Math.random() * caracteres.length)) ;

}

devuelve resultado;

}

Crea una función que genera un código de verificación:

función generarCaptcha (ancho, alto) {

const canvas = createCanvas(ancho, alto);

const ctx = canvas.getContext('2d');

/ /Establecer el color de fondo

ctx.fillStyle = '#f0f0f0';

ctx.fillRect(0, 0, width, height);

// Establecer estilo de fuente

ctx.font = '24px Arial';

ctx.fillStyle = 'black';

// Generar cadena aleatoria

const captchaText = generateRandomString(6);

// Dibujar texto en el lienzo

ctx.fillText(captchaText, 10, 30);

//Agrega algunas líneas de interferencia

for (let i = 0; i < 5; i++) {

ctx.beginPath();

ctx. (Math.random() * ancho, Math.random() * alto);

ctx.lineTo(Math.random() * ancho, Math.random() * alto);

ctx.strokeStyle = `rgb(${Math.random() * 255}, ${Math.random() * 255}, ${Math.random() * 255})`;

ctx.stroke();

}

//Convierte la imagen del código de verificación a DataURL

const dataUrl = canvas.toDataURL();< / p>

return { captchaText, dataUrl };

}

Utilice el código de verificación generado:

const { captchaText, dataUrl } = gene

rateCaptcha(150, 50);

console.log(`Texto Captcha: ${captchaText}`);

console.log(`Imagen Captcha (DataURL): ${dataUrl }`);

Ahora, puede ejecutar el archivo captcha.js para generar un captcha gráfico:

node captcha.js

Esto generará un captcha Texto del código e imagen correspondiente DataURL. Puede insertar esta imagen DataURL en la etiqueta de HTML para mostrar una imagen del código de verificación o enviarla al cliente para su verificación.