Comparar senhas

10 respostas
Marcio_Nogueira

Como posso comparar a senha informada pelo usuário com a criptografada e armazenada em banco com javascript?
Desde já agrradeço a atenção. :wink:

10 Respostas

Rodrigo_Sasaki

você quer ler a senha que vem da base usando só javascript? tem como fazer isso? hehehe

alias… não seria inseguro isso (se possível)? hehehe

E

Seria mais interessante fazer no servidor…

S

Tu criptografa a senha q o usuario digitou e compara com a senha criptografada.

Hebert_Coelho

Faça essa comparação no servidor cara, um hacker pode pegar tua fórmula de JS e te hacker fácil. [=

fabim

O hacker pega direto do banco rsrsrrs no JS usuario final tb pega :smiley:

Hebert_Coelho

O hacker pega direto do banco rsrsrrs no JS usuario final tb pega :smiley:

Qual mais fácil? Utilizar JS para chegar lá ou entrar no DB direto?! =P

M

Não sei a sua necessidade, mas seria legal usar o sha1 e sha2 e armazenar normalmente no banco mySQL…
Exemplo Sha1, query MySQL select sha1(“123abc”);
Para ficar mais seguro, você pode concatenar a senha 123+outros caracter ex"abc", ou até campos e no seu banco ira armazenar esta senha 4be30d9814c6d4e9800e0d2ea9ec9fb00efa887b
Se precisar de ajuda da um toque… :wink:

alan_pjr

O Javascript não acessa informações no servidor, apenas no browser do cliente.

Marcio_Nogueira

A idéia é utilizar o sha1 para criptografar a senha que será armazenada na base de dados, depois tenho que comparar com a senha informada pelo usuário.

M

Eu não entendi a lógica que disse… Mas acredito que seja o seguinte: você recebe a senha normal do usuario exemplo 123 + login etc… compara no banco…e precisa encriptografar essa senha…
Se for isso a lógica é a seguinte:
Recebe a senha do usuário, passa ela pela função do sha1 e compara…
Para alterar é só pedir para que o usuário renove a senha e ao inserir ele para pela class sha1…

Exemplo básico de código em java, que te devolve o valor do sha1 dai tem que fazer a parte da conexão, etc…
depois que a senha já esta com valor de sha1 compara com a senha encriptografada no banco:

public class Teste {

    public static void main(String[] args) throws NoSuchAlgorithmException, IOException {
        // TODO code application logic here
        BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in));

        System.out.println("Enter name:");
        String String = userInput.readLine();
        
        System.out.println("Enter password:");
        String senha = userInput.readLine();

        System.out.println("SHA1 hash of string: " + AeSimpleSHA1.SHA1(senha));
}
}
package br.com.teste;

import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

class AeSimpleSHA1 {

    //metodo para converter senha
    private static String convertToHex(byte[] data) {
        StringBuffer buf = new StringBuffer();
        for (int i = 0; i < data.length; i++) {
            int halfbyte = (data[i] >>> 4) & 0x0F;
            int two_halfs = 0;
            do {
                if ((0 <= halfbyte) && (halfbyte <= 9)) {
                    buf.append((char) ('0' + halfbyte));
                } else {
                    buf.append((char) ('a' + (halfbyte - 10)));
                }
                halfbyte = data[i] & 0x0F;
            } while (two_halfs++ < 1);
        }
        return buf.toString();
    }

    //chamada da função para converter senha
    public static String SHA1(String text)
            throws NoSuchAlgorithmException, UnsupportedEncodingException {
        MessageDigest md;
        md = MessageDigest.getInstance("SHA-1");
        byte[] sha1hash = new byte[40];
        md.update(text.getBytes("iso-8859-1"), 0, text.length());
        sha1hash = md.digest();
        return convertToHex(sha1hash);
    }
}
Criado 9 de novembro de 2011
Ultima resposta 9 de nov. de 2011
Respostas 10
Participantes 8