0

Como eu codifico e descodifico senhas?

criado por ... em 12/04/2003 12:12pm
Nenhuma descrição foi enviada.

Lista de Respostas:

0
12/04/2003 12:13pm
(~21 anos atrás)
... respondeu:
Para codificar e descodificar senhas voce pode usar a funcao base64_encode e base64_decode.

veja um exemplo

<?php
$senha="teste";
$cod=base64_encode($senha);
echo $cod;
?>

isto ira retornar "teste" codificado, que ficara "dGVzdGU=". essa funcao e muito importante para quem grava senhas no banco de dados, evitando que alguma pessoa descubra as senhas pelo phpmyadmin.

para decodificar, basta usar base64_decode

<?php
$senha="teste";
$cod=base64_encode($senha);
$dec=base64_decode($cod);
echo $dec;
?>

isto ira retornar "teste", que é "dGVzdGU=" descodificado.

0
16/04/2003 11:38am
(~21 anos atrás)
Cléver Anjos respondeu:
Por questões de segurança é melhor vc usar a função do MySQL PASSWORD.
Ela é de mão única, ou seja não se descriptografa, mas sim criptiografa-se a nova e veja se as string criptografadas são iguais.

exemplos:

// Gravando-se no banco
$user = "Nome";
$pass = "senha a ser criptografada";
mysql_query("INSERT INTO users (name,senha) VALUES '$user',PASSWORD('$pass')");

// Verificando senha

$user = "Nome";
$pass = "senha digitada";
$res = mysql_query("SELECT count(*) FROM users WHERE name='$user' AND senha = PASSWORD('$pass')");
if ( mysql_num_rows($res)<1){
echo "Usuário nao registrado!!!";
}


0
17/04/2003 4:50pm
(~21 anos atrás)
... respondeu:
Concordo, mas tambem se pode usar md5, axo que é mais seguro que base64. voce tambem pode criar sua propria funcao de criptografia!

0
21/04/2003 5:50pm
(~21 anos atrás)
Rhácius Castelo respondeu:
você pode usar md5() é bem mais seguro eu acho...

0
22/04/2003 6:45am
(~21 anos atrás)
Erika Focke respondeu:
A função crypt() também pode ser usada com segurança, ela usa o sistema de criptografia nativo do sistema e salva a senha num formato que não se pode descriptografar, e para a autenticação você critografa a senha digitada pelo usuário e compara com a que você tem guardada no banco de dados, usando como salt a propria senha do banco de dados, pois se não a função usará um salt randômico ficando impossível a comparação.
Exemplo:

if (crypt($senha_digitada, $senha_real) == $senha_real)
{
echo "Senha correta!";
}

0
27/04/2003 12:27pm
(~21 anos atrás)
Rhácius Castelo respondeu:
existem várias maneiras de proteger uma senha... você escolhe a que acha mais facil e eficiente... :)

---
rcp

0
29/04/2003 7:00am
(~21 anos atrás)
Bom, md5 é a melhor citada..... porém esta naum tem volta... o q eh o contrario da base64 q tanto criptografa qto descriptografa...
Soh um comentario.

0
02/05/2003 9:08pm
(~21 anos atrás)
Adriano Pilger respondeu:
...onde eu consigo mais detalhes sobre essa função md5()??? (o.°)

0
10/11/2003 1:09pm
(~21 anos atrás)
Victor Henrique respondeu:
Além de a função base64_encode() ser muito útil acredito que não seja a melhor opção para senhas, já que se alguém entrar no seu banco de dados e descobrir que você usa base64_encode nas senhas poderá utilizar o reverso da função para descobrir todas as senhas do seu cadastro.
No caso de senhas acredito que seja uma questão de gosto. Citarei algumas funções que você pode usar(mesmo a galera já tendo falado antes): no PHP existem crypt(), md5() e sha1(), são as que eu lembro no momento, desculpe se esqueci de alguma. No próprio MySQL você tem a função PASSWORD que pode ser útil também.

0
26/03/2004 2:59pm
(~20 anos atrás)
Marcos Echevarria respondeu:
eu codifico normal e tal, tanto usando o base quanto usando o crypt, mas pra mim descodifica, que função é? decrypt?

Abraços,

0
16/08/2004 8:21am
(~20 anos atrás)
Gustavo Villa respondeu:
Cara... usando a função crypt vc não conseguirá fazer o processo reverso... ou seja... uma vez criptografado, não há como descobrir a senha correta.

Bom... mas então como fazer para verificar se a senha é correta?

Simplesmente faça o seguinte:
- Quando o usuário digitar o usuário e senha, envie os dados para uma página onde você usará a função crypt na senha passada por ele. Como resultado, você terá a senha digitada criptografa.
- Compare essa senha criptografada com a do banco de dados.
- Se as senhas forem iguais, então a senha digitada está correta.

[]s
Gustavo.

Nova Resposta:

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