LAB4-Cripto-Script
// ==UserScript==
// @name LAB4-Cripto
// @namespace http://tampermonkey.net/
// @version 1.0
// @description LAB4-Cripto-Script
// @author C.León
// @match https://cripto.tiiny.site/
// @run-at document-end
// @grant none
// @require https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.2.0/crypto-js.min.js#sha512-a+SUDuwNzXDvz4XrIcXHuCf089/iJAoN4lmrXJg18XnduKK6YlDHNRalv4yd1N40OKI80tFidF+rqTFKGPoWFQ==
// @license MIT
// ==/UserScript==
(function() {
'use strict';
if (window.scriptExecuted) {
return; // Si el script ya se ha ejecutado, salir
}
window.scriptExecuted = true; // Marcar el script como ejecutado
// Función para derivar la clave del primer carácter de cada oración en el párrafo
function obtenerConcatenacionPrimerCaracter(parrafo) {
var oraciones = parrafo.split('. ');
var resultado = '';
for (var i = 0; i < oraciones.length; i++) {
var oracion = oraciones[i];
var primerCaracter = oracion.charAt(0);
resultado += primerCaracter;
}
return resultado;
}
// Función para descifrar texto cifrado con 3DES
function decrypt3DES(encryptedText, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var decrypted = CryptoJS.TripleDES.decrypt({
ciphertext: CryptoJS.enc.Base64.parse(encryptedText)
}, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}
// Obtener el párrafo y derivar la clave
var parrafo = document.querySelector('p').innerText;
var clave = obtenerConcatenacionPrimerCaracter(parrafo);
console.log("La llave es: " + clave + "");
// Obtener los divs con mensajes cifrados
var elementos = document.querySelectorAll('[class^="M"]');
var cantidadMensajes = elementos.length; // Contar la cantidad de mensajes cifrados
// Imprimir la lista de mensajes en consola
console.log("Los mensajes cifrados son: "+ cantidadMensajes);
// Procesar cada div
elementos.forEach(function(elemento) {
var mensajeCifrado = elemento.id;
var mensajeDescifrado = decrypt3DES(mensajeCifrado, clave);
// Imprimir en consola
console.log("" + mensajeCifrado + " " + mensajeDescifrado);
// Mostrar en la página
var nuevoElemento = document.createElement("p");
nuevoElemento.textContent = mensajeDescifrado;
document.body.appendChild(nuevoElemento);
});
})();