tengo un input para el texto para encriptar/desencriptar pero cuando intento desencriptar el texto que dejaron como prueba no me funciona, pues no lo desencripta a menos que haya sido un valor ingresado sin encriptar, luego encriptado y posteriormente desencriptado. No se como lograr que al copiarlo directamente me lo desencripte. Aquí le dejo la lógica del código que implemente para desencriptar, para me me asesoren:
function desencriptar() { let textoEntrada = document.getElementById("texto").value;
if (!validarTexto(textoEntrada)) {
alert("Por favor, ingrese solo cadena de caracteres y en minúsculas.");
return;
}
const textoDesencriptado = mapearPalabras(textoEntrada, invertirTabla(tablaEncriptacion));
document.getElementById("resultado").value = textoDesencriptado;
}
function generarValorAleatorio(palabra) { const criterio = { 'e': 'enter', 'i': 'imes', 'a': 'ai', 'o': 'ober', 'u': 'ufat' };
const caracteres = palabra.split('');
const valorAleatorio = caracteres.map(caracter => criterio[caracter] || caracter).join('');
return valorAleatorio;
}
function invertirTabla(tabla) { const resultado = {}; for (const clave in tabla) { if (tabla.hasOwnProperty(clave)) { resultado[tabla[clave]] = clave; } } return resultado; }
function mapearPalabras(texto, tablaMapeo) { const palabras = texto.split(/\b/);
const textoMapeado = palabras.map(palabra => {
return tablaMapeo[palabra.toLowerCase()] || palabra;
}).join('');
return textoMapeado;
}