Mensagens criptografadas
Publicado por Buckminster em 08/01/2023
[ Hits: 1.997 ]
<!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>
Instalar Google Chrome no Debian e derivados
Debian Wheezy - Atalho para minimizar todas as janelas abertas
Wireless no Debian Squeeze com WPA2
Configurar Postgresql para conectar com senha criptografada
Ativando Player HTML5 no YouTube
JavaScript - converter uma array para valores únicos
Comandos rápidos para Mozilla/Firefox
Javascript - pegar um elemento aleatório de uma lista
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
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
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Arch Linux - Guia para Iniciantes (0)
Dificuldade para renderizar vídeo no kdenlive (6)
xubuntu sem sons de eventos (3)
Erro ao iniciar serviço samba4 como novo dc em um ambiente com ad [RES... (9)