Guest Guest Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 class Crypt_RC4 { /** * Real programmers... * @var array */ var $s= array(); /** * Real programmers... * @var array */ var $i= 0; /** * Real programmers... * @var array */ var $j= 0; /** * Key holder * @var string */ var $_key; /** * Constructor * Pass encryption key to key() * * @see key() * @param string key - Key which will be used for encryption * @return void * @access public */ function Crypt_RC4($key = null) { if ($key != null) { $this->setKey($key); } } function setKey($key) { if (strlen($key) > 0) $this->_key = $key; } /** * Assign encryption key to class * * @param string key - Key which will be used for encryption * @return void * @access public */ function key(&$key) { $len= strlen($key); for ($this->i = 0; $this->i < 256; $this->i++) { $this->s[$this->i] = $this->i; } $this->j = 0; for ($this->i = 0; $this->i < 256; $this->i++) { $this->j = ($this->j + $this->s[$this->i] + ord($key[$this->i % $len])) % 256; $t = $this->s[$this->i]; $this->s[$this->i] = $this->s[$this->j]; $this->s[$this->j] = $t; } $this->i = $this->j = 0; } /** * Encrypt function * * @param string paramstr - string that will encrypted * @return void * @access public */ function crypt(&$paramstr) { //Init key for every call, Bugfix 22316 $this->key($this->_key); $len= strlen($paramstr); for ($c= 0; $c < $len; $c++) { $this->i = ($this->i + 1) % 256; $this->j = ($this->j + $this->s[$this->i]) % 256; $t = $this->s[$this->i]; $this->s[$this->i] = $this->s[$this->j]; $this->s[$this->j] = $t; $t = ($this->s[$this->i] + $this->s[$this->j]) % 256; $paramstr[$c] = chr(ord($paramstr[$c]) ^ $this->s[$t]); } } /** * Decrypt function * * @param string paramstr - string that will decrypted * @return void * @access public */ function decrypt(&$paramstr) { //Decrypt is exactly the same as encrypting the string. Reuse (en)crypt code $this->crypt($paramstr); } } //end of RC4 classalguém me passa a logica da rotina ae? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 AJUDEM ME! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mbleonardo Postado Fevereiro 1, 2005 Denunciar Share Postado Fevereiro 1, 2005 Ele pega uma string e encripta de uma forma personalizada!Isso geralmente é quase tão inseguro quanto os dados não criptografados, se não precisar desincript-los depois, use as funções md5() ou sha1(), mas se você precisar, verifique se a biblioteca mcrypt está ativada no seu servidor e use as funções dela:Exemplo usando a função TripleDes: $key="Sterling Hughes"; $string="Super Secretiva, Super Classified Information"; $encrypt_data=mcrypt_ecb(MCRYPT_TripleDES,$key,$string,MCRYPT_ENCRYPT); $decrypt_data=mcrypt_ecb(MCRYPT_TripleDES,$key,$string,MCRYPT_DECRYPT); Fonte: PHP - Guia do desenvolvedor - Sterling Hughes/Andrei Zmiesvski - Editora BerkeleyNote que para desencriptar uma strig, $key deve ser igual ao da encriptação, caso contrário, não será possivel desincriptar...um abraço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 2, 2005 Denunciar Share Postado Fevereiro 2, 2005 então este metodo é inseguro? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mbleonardo Postado Fevereiro 2, 2005 Denunciar Share Postado Fevereiro 2, 2005 Se foi você mesmo que criou o script, melhora a segurança, se você pegou o código pronto qualquer um que pegar pode desencriptar usando a mesmo função. É extremamente recomendado usar as funções internas do php, é bem mais seguro do q a personalizada, pode acreditar. E além disso, é bem mais fácil de usar Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 na verdade eu gostaria de que vocês me explicassem a logica disso..eu peguei esse script pronto, mas agora vo utilizar outra linguagem e gostaria de continuar encriptando as senhas dessa mesma maneira, vocês me ajudam?vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 smiler Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 tenta usar a função crypt()!!!mais informações acesse www.php.net Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 bicho eu queria a logica da encriptaçao ae!! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mbleonardo Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 Isso não tem uma lógica, ele pega a string e embaralha os caracteres Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Fevereiro 3, 2005 Denunciar Share Postado Fevereiro 3, 2005 Isso não tem uma lógica, ele pega a string e embaralha os caracteres Acho que tem uma lógica, sim... por mais complexa que seja. Se não, não seria possível descriptografar... certo?? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 claro que tem-se uma logica, e alguém que tenha noçao na linguagem possa me ajudar?Abraços! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 WebMasters Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 Você que é dono do script deve di ter la decrypt() então é só olhar como é feito e aprender agora se não tiver você vai precisar entender a logica inversa deve ser facil Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 bicho...não programo em php não, programo em outra linguagem..porem, precisava entender a logica pra tentar fazer o mesmo na linguagem na qual eu programo, alguém me ajuda? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 mbleonardo Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 Isso não tem uma lógica, ele pega a string e embaralha os caracteres Acho que tem uma lógica, sim... por mais complexa que seja. Se não, não seria possível descriptografar... certo?? Mais olha lá na linha do decrypt: function decrypt(&$paramstr) { [B]//Decrypt is exactly the same as encrypting the string. Reuse (en)crypt code[/B] $this->crypt($paramstr); } é claro que isso tem uma lógica, mas acho q ninguém aqui vai querer ficar se matando pra decifrar. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Fevereiro 4, 2005 Denunciar Share Postado Fevereiro 4, 2005 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Illidan Postado Fevereiro 5, 2005 Denunciar Share Postado Fevereiro 5, 2005 bicho...não programo em php não, programo em outra linguagem..porem, precisava entender a logica pra tentar fazer o mesmo na linguagem na qual eu programo, alguém me ajuda? Cara, se você programa em outra linguagem, a lógica de programação você já tem... inclusive não deve ter problemas pra entender estruturas "if", "while", "for", etc..Então, só faltaria você enteder as funções específicas do PHP que estão sendo usadas... você poderia consultar a documentação dessas funções no http://br.php.net, que estão muito bem explicadas:strlen(): retorna o número de caracteres de uma stringchr(): returna o código ASCII de um caractereord(): retorna o caractere a partir de um código ASCIIAgora é só estudar o script...Se tiver dúvidas, posta aí! Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest Guest
alguém me passa a logica da rotina ae?
Link para o comentário
Compartilhar em outros sites
15 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.