saramgsilva Posted June 14, 2006 at 04:48 PM Report Share #32950 Posted June 14, 2006 at 04:48 PM Boas, Num sistema de registo de dados, que envolve por exemplo senha, usa-se normalmente a encriptação de dados. Uma função que o php oferece é a função md5, que converte uma string ( <32 char ) numa string de 32 caracteres. Vou apresentar um pequeno script, que ao dar uma stringdevolve-me a sua encriptação, usando a função md5 encriptar.php <form action="encriptar.php" method="POST" > <input type="text" value="" name="palavra" size="20" maxlength="32"> <input type="submit" value=" Envia " name="validar" > </form> <?php $codigo=md5($_POST['palavra']); echo($codigo); ?> Podem apresentar outras funções de encriptação que existe no php 😄 www.saramgsilva.com As minhas apps no WP7 Marketplace Youtube : Galinho - Windows Phone 7.5 Link to comment Share on other sites More sharing options...
inginheiiro Posted June 20, 2006 at 10:59 AM Report Share #33888 Posted June 20, 2006 at 10:59 AM desculpa "contrariar-te", mas o md5 não é uma função de cifra, embora pertença ao universo da criiptografia. o md5 é um algoritmo de assinatura descrito no RFC http://www.ietf.org/rfc/rfc2831.txt Ou seja, é uma função de um só sentido, sem inversa. se guardares uma assinatura MD5 de uma password, nunca poderás recuperar a password original 😉 Podes sim, cada vez que alguém introduz uma password, assinares (MD5) o input e verificar se o resultado obtido é igual à assinatura guardada. Se for, então estás na presença de alguém que sabe a password . pois Existe apenas um (Password,Assinatura) : MD5(Password)=Assinatura a função MD5 do php, se não me engano dá como resultado dois formatos: 32 char em hexadecimal. 16 raw binary. normalmente usa-se o 32 char hex para armazenamento. /ing I used to have a life ... but i bought a programmable machine in 1982 ... Link to comment Share on other sites More sharing options...
NuGuN Posted June 20, 2006 at 08:08 PM Report Share #33984 Posted June 20, 2006 at 08:08 PM se guardares uma assinatura MD5 de uma password, nunca poderás recuperar a password original Smiley inginheiiro tira-me duas duvida.... no MD5 não sei se se já é possivel mas se não estou em erro li um texto algures na internet que falava soubre o MD4 e já existiam algoritmos capase de chegar a password em poucos minutos. Com MD5 istu tb ja é possivel? Podes sim, cada vez que alguém introduz uma password, assinares (MD5) o input e verificar se o resultado obtido é igual à assinatura guardada.Se for, então estás na presença de alguém que sabe a password . pois Existe apenas um (Password,Assinatura) : MD5(Password)=Assinatura A outra duvida é como pode istu ser possivel se é possivel fazer mais combinações com as letras do abcedario com os numeros e com alguns caracteres como o "_" e o "." por exemplo, do que com uma string de 32 caracteres em hexadecimal? Não tenho a certesa mas penso que é possivel que 2 strings diferentes tenhao a mesma hash(penso que é asism que se chama 😛 ) Mais umas curiosidades : http://en.wikipedia.org/wiki/MD5 cumps Link to comment Share on other sites More sharing options...
inginheiiro Posted June 21, 2006 at 09:07 AM Report Share #34047 Posted June 21, 2006 at 09:07 AM inginheiiro tira-me duas duvida.... no MD5 não sei se se já é possivel mas se não estou em erro li um texto algures na internet que falava soubre o MD4 e já existiam algoritmos capase de chegar a password em poucos minutos. Com MD5 istu tb ja é possivel? É verdade que foram descobertas falhas nos algoritmos de assinatura MD5 (128bits) e SHA-1(160bits). O Apache por exemplo usa extensivamente o MD5, enquanto que o PGP e o SSL usam SHA-1. Através da exploração da falha detectada, em algumas horas consegue-se gerar colisões hash para o MD5. ISTO é apenas o ínicio de um POSSIVEL ataque, ou seja: Deste ponto até se descobrir a função inversa , ainda se leva muito tempo ... A solução passa por passar a usar outros algoritmos de assinatura SHA-1 p.ex. (mais robusto), etc etc. A outra duvida é como pode istu ser possivel se é possivel fazer mais combinações com as letras do abcedario com os numeros e com alguns caracteres como o "_" e o "." por exemplo, do que com uma string de 32 caracteres em hexadecimal? Não tenho a certesa mas penso que é possivel que 2 strings diferentes tenhao a mesma hash(penso que é asism que se chama ) O resultado de qualquer assinatura (HASH) é em binário. O MD5 gera um resultado de 128 bits. Posteriormente podes converter esse resultado noutro formato. é o que acontece com a função do PHP que gera um Hexadecimal de 32 caracteres. Agora... 2 strings com os mesmos caracteres em posições diferentes, nunca geram a mesma assinatura 😛 string 1= AAABBB_ string 2 =AAABB_B MD5(string 1 ) != MD5(string 2). O Algoritmo de assinatura digital, prevê que um valor de entrada, tem uma só HASH de saída. /ing I used to have a life ... but i bought a programmable machine in 1982 ... Link to comment Share on other sites More sharing options...
karva Posted July 3, 2006 at 07:51 PM Report Share #36019 Posted July 3, 2006 at 07:51 PM pra sakar md5 e md4, usam-se rainbow tables, onde tao os strings todos, e ele vai a procura Proud LEIC-A@IST student! Link to comment Share on other sites More sharing options...
kingless Posted July 4, 2006 at 11:28 AM Report Share #36104 Posted July 4, 2006 at 11:28 AM Se quiserem uma função de php que encripta e desencripta podem utilizar base64_encode(); e base64_decode(); Link to comment Share on other sites More sharing options...
Gurzi Posted July 5, 2006 at 01:34 PM Report Share #36344 Posted July 5, 2006 at 01:34 PM Bem isto é completamente fantástico.. Adoro encriptação 🙂 E eu não sei nada de nada, estou a ficar apaixonado com isto, é simplesmente brutal.. Quero que me tirem uma dúvida.. quando fazemos o "download " de um ficheiro normalmente diz HASH MD5 e tem esses 32 caracteres provenientes dos 128 bits que a "verdadeira" md5 origina.. mas esse código corresponde ao que ? ao nome com que está guardado o ficheiro ? Outra coisa... nos dias de hoje qual a utilização mais rentável ? md5 ? SHA-1 ou base64_encode() ? Então se usar md5 nunca vou poder saber a password que o utilizador tinha, eu não, mas se ele quiser receber de novo a sua password é impossivél .. Impossivél porquê ? Sempre ouvi dizer que o que se monta tambem se desmonta, logo o que existe no md5 que seja impossível de descodificar ? Um abraço 🙂Gurzi 😉 Link to comment Share on other sites More sharing options...
M6 Posted July 5, 2006 at 01:45 PM Report Share #36346 Posted July 5, 2006 at 01:45 PM Bem isto é completamente fantástico.. Adoro encriptação 🙂 E eu não sei nada de nada, estou a ficar apaixonado com isto, é simplesmente brutal.. Quero que me tirem uma dúvida.. quando fazemos o "download " de um ficheiro normalmente diz HASH MD5 e tem esses 32 caracteres provenientes dos 128 bits que a "verdadeira" md5 origina.. mas esse código corresponde ao que ? ao nome com que está guardado o ficheiro ? Isso refere-se ao MD5 do ficheiro. Se fizeres md5sum nome_ficheiro em Linux isso dá-te um valor MD5. Esse valor serve para ver se, por exemplo, o ficheiro que tens corresponde ao original. Outra coisa... nos dias de hoje qual a utilização mais rentável ? md5 ? SHA-1 ou base64_encode() ? Isso depende da tua finalidade. Por exemplo, uso bastante o MD5 quando necessito de ids únicos. A probabilidade de clash é reduzida, pelo que nessas situações o MD5 é uma hipótese. Já se necessitares de descodificar algo, deves usar qualquer coisa como o base64. Então se usar md5 nunca vou poder saber a password que o utilizador tinha, eu não, mas se ele quiser receber de novo a sua password é impossivél .. Impossivél porquê ? Sempre ouvi dizer que o que se monta tambem se desmonta, logo o que existe no md5 que seja impossível de descodificar ? Um abraço 🙂Gurzi 😉 Exactamente. No caso particular do MD5, é possível encontrares um conjunto de valores que originam a mesma chave MD5, mas nunca vais saber qual desses valores realmente é o "verdadeiro/original". Há também codificações que é possível reverter, mas tal demora tanto tempo usando o poder computacional actual que se torna inviável. Pode saber mais aqui: http://en.wikipedia.org/wiki/Md5 e aqui http://en.wikipedia.org/wiki/Cryptography 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Gurzi Posted July 5, 2006 at 02:23 PM Report Share #36354 Posted July 5, 2006 at 02:23 PM Bem se calhar estou a mandar uma grande bacorada, mas perguntar é um dos passos da saboderia 😉 o hash de um ficheiro corresponde ao que ? eu se fizer $password =md5($pass) ele vai fazer um md5 á password ou seja aos caracteres que ele introduziu agora um ficheiro... não me está a entrar na cabeça, nem consigo criar um raciocínio.. outra coisa, estou aprender cookies, fui aqui aos meus cookies e aparece isto MC1 GUID=5c83bb3763ddfa4fa9a9d3bc6f687310&HASH=37bb&LV=20054&V=3 microsoft.com/ 1024 2330023936 29812409 3007702656 29701839 * s_nr 1150897711992 microsoft.com/ 1088 1510056320 29797580 1647607680 29791545 * WT_FPC id=195.23.23.166-195864976.29791544:lv=1150865340368:ss=1150894125865 microsoft.com/ 1088 3133277696 30525724 1931367680 29791545 * A I&I=AxUFAAAAAAA9BwAA1z7ll5FPUOUWVtmhHUwm8g!! microsoft.com/ 1024 2939469568 31995917 3719134976 29791544 * MUID BD8925CFB71A46BF8FD2A4E3FCCD6558 microsoft.com/ 1024 204832768 30859217 1801247680 29791545 * pode-se ver a palavra HASH , ou seja , aquilo são os tais 32 caracteres correspondentes á passagem de 128 bits para hexadecimal ? Link to comment Share on other sites More sharing options...
M6 Posted July 5, 2006 at 02:27 PM Report Share #36357 Posted July 5, 2006 at 02:27 PM No caso do ficheiro não sei ao certo como funciona, mas sendo o Linux OSS, podes sempre ir ver o código fonte. No entanto, se virmos um ficheiro como uma "simples string", parece-me que md5sum se limita a fazer hash dessa mesma string. Quanto ao Hash, a resposta é não. Podes ter qualquer função de hash, não tem de ser um MD5. Por exemplo, podes definir uma função de hash que seja simplesmente o tamanho de uma string. As funções de hash são escolhidas de forma a existir uma boa distribuição dos elementos por uma lista, de forma a que, haja pouco clash. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Gurzi Posted July 5, 2006 at 02:35 PM Report Share #36359 Posted July 5, 2006 at 02:35 PM :beer:obrigado 😉 :lamo:OFFTOPIC a utilização de cookies é normal ? estou agora a aprendê-los e não sei se vale a pena ou não. por exemplo : setcookie("username",$password,time()+1200); isto vale a pena ou ninguem usa cookies? Link to comment Share on other sites More sharing options...
M6 Posted July 5, 2006 at 02:43 PM Report Share #36364 Posted July 5, 2006 at 02:43 PM :beer:obrigado 😉 :lamo:OFFTOPIC a utilização de cookies é normal ? estou agora a aprendê-los e não sei se vale a pena ou não. por exemplo : setcookie("username",$password,time()+1200); isto vale a pena ou ninguem usa cookies? Enquanto developer, uso cookies para guardar alguma informação "semi-persistente", entre sessões de utilização. Tenho é sempre alguma "renitência" a deixar informação sensível como username/password em cookies, isso não acho muito boa ideia. No entanto, como user, tenho o browser configurado para só permitir acesso às cookies a partir dos sites que as criaram. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Gurzi Posted July 5, 2006 at 02:56 PM Report Share #36367 Posted July 5, 2006 at 02:56 PM Podes me dar alguma ideia de cookies que guardes sem ser username e password ? Nos cookies quando tens algo m6.portugalaprogramar.pt/index.php e nesta páginas escolheste a cor do fundo branco Se ao passares a m6.portugalaprogramar.pt/codigos.php tens que usar o campo "domain" com portugalaprogramar.pt ?? Em relação ás passwords são acessíveis ? tb podes colocar uma hash na password do cookie. Abraço Link to comment Share on other sites More sharing options...
M6 Posted July 5, 2006 at 03:05 PM Report Share #36368 Posted July 5, 2006 at 03:05 PM Podes me dar alguma ideia de cookies que guardes sem ser username e password ? Nos cookies quando tens algo m6.portugalaprogramar.pt/index.php e nesta páginas escolheste a cor do fundo branco Se ao passares a m6.portugalaprogramar.pt/codigos.php tens que usar o campo "domain" com portugalaprogramar.pt ?? A Amazoon guarda a escolha dos livros que fazes, também faço o mesmo num carrinho de compras que implementei. Em relação ás passwords são acessíveis ? tb podes colocar uma hash na password do cookie. Abraço Se tens lá uma coisa do tipo: user=xpto password=yptz, alguém que leia essa cookie fica a conhecer ambos os valores. Se estiverem em claro é uma irresponsabilidade e incompetência brutal por parte do responsável pelo sistema, estando encriptado pode acontecer que com um bom bocado de paciência se descubra algo... Além disso o que tu queres é uma função de encriptação, não de hash. 😉 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Gurzi Posted July 5, 2006 at 03:39 PM Report Share #36374 Posted July 5, 2006 at 03:39 PM Se calhar ainda estou um bocado confuso entre encriptação e hash! Isto é complicado 😉 responde-me só aquela questão. Se ao passares a m6.portugalaprogramar.pt/codigos.php tens que usar o campo "domain" com portugalaprogramar.pt ?? Link to comment Share on other sites More sharing options...
M6 Posted July 5, 2006 at 03:45 PM Report Share #36376 Posted July 5, 2006 at 03:45 PM Se calhar ainda estou um bocado confuso entre encriptação e hash! Isto é complicado 😉 São coisas distintas. Funções de Hash é uma coisa, funções de encriptação é outra coisa. No entanto, podes usar uma função de encriptação como função de hash. Dá uma olhadela aqui: http://en.wikipedia.org/wiki/Hash_table e http://en.wikipedia.org/wiki/Hash_function responde-me só aquela questão. Se ao passares a m6.portugalaprogramar.pt/codigos.php tens que usar o campo "domain" com portugalaprogramar.pt ?? Podes manter o valor do campo domain, o valor que lá colocas nada tem directamente a ver com o domínio. Podes nao colocar lá nada ou podes por "batatas"... 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
operacoes Posted July 22, 2006 at 09:47 PM Report Share #39673 Posted July 22, 2006 at 09:47 PM para quem curte criptografia e segurança da informação vá a <a href="http://www.illuminatti.host.sk/">Illuminatti.host.sk</a> tem muitas explicações e programas para o efeito Link to comment Share on other sites More sharing options...
djthyrax Posted October 29, 2006 at 04:32 PM Report Share #60769 Posted October 29, 2006 at 04:32 PM Uma pequena correcção à Tofas: Num sistema de registo de dados, que envolve por exemplo senha, usa-se normalmente a encriptação de dados. Uma função que o php oferece é a função md5, que converte uma string ( <32 char ) numa string de 32 caracteres. qualquer string pode ser "md5ada" tendo ela 1 ou 3206015601541 caracteres. Mas, já li algures que um hash md5 de uma string >32 caracteres é mais fácil de "crackar" do que de uma string <32 caracteres. Se tiver errado, corrijam-me 😄 Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum! Link to comment Share on other sites More sharing options...
karva Posted October 29, 2006 at 06:04 PM Report Share #60788 Posted October 29, 2006 at 06:04 PM o que ta a rular e "criar" o teu proprio algoritmo de encriptacao Proud LEIC-A@IST student! Link to comment Share on other sites More sharing options...
shumy Posted October 29, 2006 at 09:05 PM Report Share #60847 Posted October 29, 2006 at 09:05 PM É... guia-te por este então "One-Time Pads" 100% seguro. Todos os outros têm como objectivo aproximar-se deste. E da sua impraticabilidade. Aqui há coisa de 2 anos fazia umas malhas de croché, depois fartei-me e fui para informática! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now