Mensagens criptografadas
Publicado por Buckminster em 08/01/2023
[ Hits: 1.756 ]
<!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>
Configurar PHP/Apache para limitar o acesso externo de arquivos pela URL (barra de endereços)
Firmware Realtek - Ativação na instalação do Debian Squeeze 64 bits
Instalar PHP8 no Debian 9 e 10
Instalar Popcorn-Time no Linux
Codificação HEXADECIMAL para HTML
Leitor de Teclas em Javascript e PHP
Tampermonkey - Executando JavaScript em Sites com o Chrome
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
Manjaro Substituindo Ubuntu no Desktop (14)
problemas com artefatos na instalação (29)
Dificuldade em ler binário (18)
Encriptografa... as particoes com LUKS, o que poderia dar errado? (4)