Mensagens criptografadas
Publicado por Buckminster em 08/01/2023
[ Hits: 1.967 ]
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>ENIGMA XOR MACHINE</title> <style> .contover{ width: 50%; position:relative; margin-left:auto; margin-right:auto; margin-top:10px; } .pcarreira { text-indent: 50px; text-align: justify; } </style> <script> function encrypt(str, pwd) { if(pwd === null || pwd.length <= 0) { alert("Por favor entre com a senha para encriptar a mensagem."); return null; } var prand = ""; for(var i=0; i<pwd.length; i++) { prand += pwd.charCodeAt(i).toString(); } var sPos = Math.floor(prand.length / 5); var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5)); var incr = Math.ceil(pwd.length / 2); var modu = Math.pow(2, 31) - 1; if(mult < 2) { alert("Algoritmo não pode encontrar um hash compatível. Por favor escolha outra senha. Consideracoes possíveis escolha uma senha mais difícil ou maior."); return null; } var salt = Math.round(Math.random() * 1000000000) % 100000000; prand += salt; while(prand.length > 10) { prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString(); } prand = (mult * prand + incr) % modu; var enc_chr = ""; var enc_str = ""; for(var i=0; i<str.length; i++) { enc_chr = parseInt(str.charCodeAt(i) ^ Math.floor((prand / modu) * 255)); if(enc_chr < 16) { enc_str += "0" + enc_chr.toString(16); } else enc_str += enc_chr.toString(16); prand = (mult * prand + incr) % modu; } salt = salt.toString(16); while(salt.length < 8)salt = "0" + salt; enc_str += salt; return enc_str; } function decrypt(str, pwd) { if(str === null || str.length < 8) { alert("Não foi possível desencriptar pois a mensagem e muito pequena os cálculos retornam um numero negativo."); return; } if(pwd === null || pwd.length <= 0) { alert("Por favor coloque a senha para desencriptar a mensagem."); return; } var prand = ""; for(var i=0; i<pwd.length; i++) { prand += pwd.charCodeAt(i).toString(); } var sPos = Math.floor(prand.length / 5); var mult = parseInt(prand.charAt(sPos) + prand.charAt(sPos*2) + prand.charAt(sPos*3) + prand.charAt(sPos*4) + prand.charAt(sPos*5)); var incr = Math.round(pwd.length / 2); var modu = Math.pow(2, 31) - 1; var salt = parseInt(str.substring(str.length - 8, str.length), 16); str = str.substring(0, str.length - 8); prand += salt; while(prand.length > 10) { prand = (parseInt(prand.substring(0, 10)) + parseInt(prand.substring(10, prand.length))).toString(); } prand = (mult * prand + incr) % modu; var enc_chr = ""; var enc_str = ""; for(var i=0; i<str.length; i+=2) { enc_chr = parseInt(parseInt(str.substring(i, i+2), 16) ^ Math.floor((prand / modu) * 255)); enc_str += String.fromCharCode(enc_chr); prand = (mult * prand + incr) % modu; } return enc_str; } // End --> </script> </head> <body> <form name="box"> <center> <div class="contover"> <p class="pcarreira">Toda mensagem para ser criptografada deve ser colocada no primeiro campo, digite uma senha no campo e clique Encrypt, a mensagem será encriptada no segundo campo, copie e cole na página desejada.</p> <p class="pcarreira">Para desencriptar coloque a mensagem recebida no segundo campo e digite a senha recebida, clique Decrypt e no campo acima aparecerá a mensagem enviada. Caso esteja ilegível, repita o processo prestando atenção na senha.</p> </div> <table cellpadding=0 cellspacing=0 border=0> <tr> <td colspan=3> <textarea cols=40 rows=5 wrap=virtual name=ipt placeholder="Coloque sua mensagem aqui"></textarea> </td> </tr> <tr height=50> <td valign="top"> <input type="button" onClick="document.box.opt.value= encrypt(document.box.ipt.value, document.box.pwd.value);" value="Encrypt"> </td> <td align="center" valign="center"> <label>Senha</label><br> <input type="password" name="pwd" value=""> </td> <td align="right" valign="bottom" style="padding-bottom:4px;"> <input type="button" onClick="document.box.ipt.value= decrypt(document.box.opt.value, document.box.pwd.value);" value="Decrypt"> </td> </tr> <tr> <td colspan=3> <textarea cols=40 rows=5 wrap=virtual name=opt></textarea> </td> </tr> </table> <input type="reset" value="Limpar"> </center> </form> </body> </html>
Debian Wheezy - Atalho para minimizar todas as janelas abertas
Usar o WoeUSB-ng no Debian para criar um pendrive bootável
Como verificar o hash de um arquivo baixado da Internet e como criar um hash
Codificação HEXADECIMAL para HTML
Como corrigir erros de acentuação em códigos HTML, PHP ou JavaScript
Cursos grátis na área de programação com certificado
Bloqueando objetos Flash de páginas
JavaScript - verificar se todos os itens de um array são pares ou ímpares
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Não to conseguindo resolver este problemas ao instalar o playonelinux (1)
Excluir banco de dados no xampp (1)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta