1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.
  2. Informação: Pela 0:30 desta Sexta-feira (9 de Dezembro, 23:30 de Quinta-feira nos Açores) o Fórum e restantes sites da ZWAME vão estar offline para manutenção durante cerca de 1h30.
    Se necessário faremos actualizações via Twitter e Facebook.
    Remover anúncio

Data encriptation | decript

Discussão em 'Web Development' iniciada por eralha, 19 de Fevereiro de 2009. (Respostas: 10; Visualizações: 784)

  1. eralha

    eralha Power Member

    Boas pessoal.

    Gostaria de saber se alguem usa algoritmos proprios para encriptação de dados, que tenham volta atraz, e se gostariam de partilhar com a comunidade, eu tenho um que desenhei atravez de alguma pesquisa, poderei postar aqui o codigo para o pessoal dar uma olhadela e dizer até que ponto é seguro, estou a falar de php no meu caso.
     
  2. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Sendo PHP, pertence ao Web Development, pelo que o tópico foi movido para a secção adequada :)

    Em relação à questão, eu quando preciso de encriptar alguma coisa uso (A)RC4, mas, se não existir uma necessidade demasiado grande de segurança, acho que a questão da segurança num algoritmo "próprio" não é assim tão preocupante (desde que não seja algo simples como o método de César :P ).
     
  3. eralha

    eralha Power Member

    hmmm...eu costumo utilizar o char code de determinado caracter e adicionar um numero ou seja, o charCode 62 + X onde X é gerado por um polinómio, e transformo em caracteres outra vez, ficando caracteres estranhos.
     
  4. inginheiiro

    inginheiiro Power Member

    criptografia é uma ciência matemática.
    o teu algoritmo é estremamente fácil de quebrar.

    sugiro que procures no google informação sobre a area.

    tenho alguma coisa escrita sobre isso.
    vê aqui. http://bragatel.pt/coredump/artigos/ICriptografia.pdf
     
  5. eralha

    eralha Power Member

    Eu tenho noção disso, falta-me é alguns conhecimentos a baixo nivel de programação.

    quanto ao ser facil de quebrar deixo aqui parte do codigo para opinares.

    Código:
    
    isto é a função de calculo
    
    private function calculate(iValor:Number):Number{
                var hashCal:Number;
                //                   1     -          2     -          5     -          1     -          3     - 67
                hashCal = iValor * 1 ^ 6 + iValor * 2 ^ 5 + iValor * 5 ^ 4 + iValor * 1 ^ 3 + iValor * 3 ^ 2 + 67;
                //trace(hashCal);
                return Math.round(hashCal);
            }
    
    public function encode(str:String,pwr:String):String{
                var hashString:String = "";
                var ASCIIHolder:Number;
                var uKey:Number = userKeyCode(pwr);
                randomKey = resultConvert(String(Math.floor(Math.random()*9999999)));
                for(var i:Number = 0; i < str.length; i++){
                    ASCIIHolder = str.charCodeAt(i);
                    //trace("KeyCode: "+ASCIIHolder);
                    ASCIIHolder = ASCIIHolder + resultConvert(String(calculate(randomKey+i+uKey)));
                    hashString += String(ASCIIHolder)+hashSepArray[Math.floor(Math.random()*hashSepArray.length)];
                    //trace("Hashed: "+ASCIIHolder);
                }
                return hashString.concat(String(randomKey));
            }
    
    
     
  6. souto

    souto To fold or to FOLD?

  7. eralha

    eralha Power Member

    Estou a ler o do inginheiiro e está muito perceptivel, parabens pela info.
     
  8. eralha

    eralha Power Member

    Ola outra vez queria mostrar ao inginheiro o resultado do algoritmo que fiz, uma string encriptada fica com este resultado:

    String: aaaaaaaaaa
    cifra: 119L114I110g108o109C109d106s130l122C123e41

    as letras entra cada sequencia de numeros serve para separar os caracteres.
     
  9. inginheiiro

    inginheiiro Power Member

    como fazes o processo inverso? decifrar a string 119L114I110g108o109C109d106s130l122C123e41

    deves estar a confundir cifrar com assinar.
     
  10. eralha

    eralha Power Member

    No codigo que postei em cima mostra como fasso a cifra, adicionando ao charcode do caracter um numero polinomial, que varia de acordo com uma chave privada, uma dinamica e a posição da string a encriptar, para retomar o texto e fazer o inverso com as chaves, a chave dinamica fica no final do hash é o ultimo nr, se quiseres mandote um link para um zip com sources.

    neste link tens um form que utiliza este metodo: http://webitlabs.com/flashencoder/
     
    Última edição: 19 de Fevereiro de 2009
  11. eralha

    eralha Power Member

    Estive a ler o teu artigo gostei bastante, a info está muito boa, até acrescentei ao meu algoritmo o metodo chain, fazendo com que os bytes que estao a frente estejam dependentes dos de traz para conseguirem ser decifrados, assim se um caracter for alterado numa string, a decifra ja nao sai correcta.
     

Partilhar esta Página