¿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.