0

Qual a sintaxe correta para o uso dos comandos crypt() ou md5()? Qual a vantagem do uso de um sobre o outro?

criado por Mariângela Ferreira Fuentes Mo em 22/01/2004 8:47am
Nenhuma descrição foi enviada.

Lista de Respostas:

0
25/01/2004 10:53am
(~21 anos atrás)
A sintaxe você pode encontrar no nosso manual online
que está em www.php.net/manual/pt_BR/ das duas funções

e também temos o download em português em http://manualphp.sf.net

Sobre as funções a Crypt oferece uma série de constantes que são os tipos que ela usa para fazer a encriptação.. em teoria o md5 é bem mais simples e você poderia usar algo como md5(string);

onde string seria a senha do usuário para encriptar

Existe um pacote da PEAR (http://pear.php.net) que também manipula geração de senhas é interessante dar uma olhada

Espero ter ajudado

0
25/01/2004 11:27am
(~21 anos atrás)
Herbert Araujo respondeu:
crypt("string1","string2");
você deve passar para a função duas strings, sendo que a primeira será criptografada e a segunda (opcional) indicará como a criptografia será feita. Você pode usar DES, MD5, Blowfish, etc. Se não passar a segunda string o php gera dois caracteres aleatórios para para servir de base para a encriptação. Existem mais informações sobre a segunda string, acesse: http://br2.php.net/manual/pt_BR/function.crypt.php

0
25/01/2004 3:13pm
(~21 anos atrás)
Alessander Thomaz respondeu:
O MD5 é um algoritmo de hash. Ou seja ele gera sempre uma cadeia de 32 caracteres hexadecimais. É excelente para validações de usuários simples. Um hash (acho que o nome é esse) não tem volta, para saber se a validação está correta somente por comparação.

Se precisar encriptar um texto e ter retorno não use MD5.

0
27/01/2004 9:21am
(~21 anos atrás)
Newton Wagner respondeu:
crypt("string", "md5")

é a mesma coisa que

md5("string")


se vc usar o crypt() sem a segunda string, pra comparar uma senha por exemplo, vc usaria:

$senha_crypt; // Senha criptografada anteriormente
$senha_form; // Senha enviada pelo formulario (sem cript)

if (crypt($senha_form, $senha_crypt) == $senha_crypt) {
print "Senhas identicas";

} else {
print "Senhas diferentes";

}

0
27/01/2004 10:31am
(~21 anos atrás)
Bruno Canongia respondeu:
Ambos são algorítimos só de ida... vc não pode recuperar uma senha por exemplo... pode gerar outra encriptada e comparar... A diferença é que MD5 é um hash, como o nosso amigo acima disse, gera um hexadecimal de 32 caracteres.
//recuperando do form
$senha = $_POST['senha'];
//encriptando
$senha = md5($senha);
Você joga a senha no DB e quando precisar logar faça o mesmo processo pra comparar os hashs.

0
04/02/2004 2:11pm
(~21 anos atrás)
Tadeu F. Oliveira respondeu:
Só para acrescentar como as senhas encriptadas são guardadas no banco uma sugestão é utilizar a função password do mysql então um insert ficaria assim:

'insert into usuarios(login,senha) values('.$login.',password('.$senha.'))'


0
09/02/2004 12:18am
(~21 anos atrás)
Diogo Gomes respondeu:
Para criptografia o ideal seria mcrypt, mas se tratando de hash, ainda temos o sha1() e o crc32()... O uso de password() no mysql tbm é recomendado, a partir da versão 4.1, a função PASSWORD() foi modificada para produzir um valor hash de 41 bytes.
Como exemplo execute essa query: SELECT PASSWORD('mypass'). Retorna o seguinte: *43c8aa34cdc98eddd3de1fe9a9c2c2a9f92bb2098d75

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)