Criptografia + Java  XML
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Autor Mensagem
Silva03
Virtual Machine Man

Membro desde: 27/04/2005 08:59:15
Mensagens: 567
Offline

quero criptografar minha senha..alguem conhece alguma API?ALGUEM TEIA ALGUM EXEMPLO?
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Procure neste fórum por "MD5" e "Senhas"
[WWW]
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

Você pode fazer assim:


import sun.misc.BASE64Encoder;
import usuario.Usuario;

public class CadastroUsuario{

String senhacriptografada;
BASE64Encoder encoder;


Usuario usuario = new Usuario();
usuario.setLogin( "fulano");
usuario.setSenha("12345");

encoder = new BASE64Encoder();
senhacriptografada = encoder.encode( usuario.getSenha().getBytes) );
usuario.setSenha( senhacriptografada );

}


Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Simplesmente gravar os bytes em Base-64 não criptografa nada (como o Rulio fez).
Cuidado!

[WWW]
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Leia o método "main" e veja como é que se usa esse método "toPassword".

[WWW]
oyama
Virtual Machine Man

Membro desde: 19/04/2005 10:11:09
Mensagens: 572
Offline

Se for para algum sistema "em produção", recomendo não usar mais o algoritmo MD5, pois as "consultorias de segurança" estão barrando a utilização deste algoritmo nos sistemas.

PS: Não crie outro tópico sobre o mesmo assunto.
PS2: Veja o que o thingol escreveu: Base64 não é algoritmo de criptografia.
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

calma ai gente, a minha intenção é das melhores possíveis. Estamos no mesmo barco.
Até minutos atraz pensei que seria. Mas já que não é me explica ai.
Descupa ai...

PS: Até é algoritmo, mas se não é mais usado é outra coisa. Isso é um algoritmo de chave compartilhada.

Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
thingol
Moderador

Membro desde: 29/07/2004 16:10:13
Mensagens: 17543
Offline

Rulio, é o seguinte: criptografia é algo que é um pouco mais complicado que parece.

Digamos que você use o seu algoritmo para "cifrar" as seguintes senhas:

"Nicole Kidman" -> Tmljb2xlIEtpZG1hbg==
"Nicole kidman" -> Tmljb2xlIGtpZG1hbg==

(OK, se você prefere outra atriz ponha outro exemplo aqui
Por exemplo, "Jennifer Lopez" -> SmVuaWZmZXIgTG9wZXo= )

Se você olhar direitinho, as senhas são quase iguais, e quando você usa "Base-64" para convertê-las, elas também são quase iguais (uma letra E na primeira posição, uma letra G na segunda posição).
Ou seja, qualquer um, com um pouco de paciência, seria capaz de (olhando um arquivo com várias senhas) deduzir como é que você fez a codificação.

Usando o MD5, isso já é mais complicado (como o exemplo que dei no programa postado). Na verdade, no caso do MD5, seria necessária uma busca exaustiva para achar a senha.

(O Oyama notou que estou usando o MD5, que está "deprecated"; pode trocar por algum outro algoritmo, como o SHA-256. (O SHA-1 também foi considerado inseguro.)
[WWW]
Rildlanster
Entusiasta Java

Membro desde: 29/01/2007 17:54:56
Mensagens: 18
Offline

public static void main(String[] args) {
String senha = "123";
MessageDigest md = null;
try {
md = MessageDigest.getInstance("MD5");
} catch (Exception e) {
e.printStackTrace();
}
byte[] senhaBytes = senha.getBytes();
byte[] hash = md.digest(senhaBytes);
String senhaHash = Util.encodeBase64(hash);

System.out.println(senhaHash);
}
Rildlanster
Entusiasta Java

Membro desde: 29/01/2007 17:54:56
Mensagens: 18
Offline

ah. para o código acima:

import java.security.MessageDigest;

import org.jboss.security.Util;
Rulio
JavaBaby
[Avatar]

Membro desde: 22/08/2006 00:34:38
Mensagens: 94
Offline

blz então... Valeu brother...

Sun Certified Java Programmer 5.0
"Nada é simples demais que não possa ser abstraído, nada é complexo demais que não possa ser generalizado."
Tché
JavaChild
[Avatar]

Membro desde: 09/01/2008 16:56:11
Mensagens: 149
Offline


import org.jboss.security.Util;


Onde consigo?

"A pipoca é a flor do milho."
Victor Gerin
Entusiasta Java

Membro desde: 24/09/2011 09:55:52
Mensagens: 23
Offline

thingol wrote:Rulio, é o seguinte: criptografia é algo que é um pouco mais complicado que parece.

Digamos que você use o seu algoritmo para "cifrar" as seguintes senhas:

"Nicole Kidman" -> Tmljb2xlIEtpZG1hbg==
"Nicole kidman" -> Tmljb2xlIGtpZG1hbg==

(OK, se você prefere outra atriz ponha outro exemplo aqui
Por exemplo, "Jennifer Lopez" -> SmVuaWZmZXIgTG9wZXo= )

Se você olhar direitinho, as senhas são quase iguais, e quando você usa "Base-64" para convertê-las, elas também são quase iguais (uma letra E na primeira posição, uma letra G na segunda posição).
Ou seja, qualquer um, com um pouco de paciência, seria capaz de (olhando um arquivo com várias senhas) deduzir como é que você fez a codificação.

Usando o MD5, isso já é mais complicado (como o exemplo que dei no programa postado). Na verdade, no caso do MD5, seria necessária uma busca exaustiva para achar a senha.

(O Oyama notou que estou usando o MD5, que está "deprecated"; pode trocar por algum outro algoritmo, como o SHA-256. (O SHA-1 também foi considerado inseguro.)


Então julio eu estava lendo o tópico ja que estou procurando também uma forma de criptografia eficiente, mas o meu objetivo não é para usar como senha, mas com transferência de informações, pois no meu programa existe um certo momento que o usuário pode alterar as informações e por isso e importante que esteja criptografado então para que o mesmo funcione preciso de algo que alem de criptografar também eu possa depois fazer a descriptografa

Pelo que eu vi em minhas pesquisas, o "MD5" e quase impossível de descriptografa, então ele se funciona comparando as senhas criptografadas ja que no banco de dados vai ficar a senha criptografado e quando o usuario digitar a senha a mesma digitada será criptografada e comparada, mas esse formato não funciona para min

Então se auguem souber como me ajudar agradeço
[Email] [MSN]
maior_abandonado
JWizard
[Avatar]

Membro desde: 03/09/2007 11:30:08
Mensagens: 2694
Localização: sp
Offline

Victor Gerin wrote:
thingol wrote:Rulio, é o seguinte: criptografia é algo que é um pouco mais complicado que parece.

Digamos que você use o seu algoritmo para "cifrar" as seguintes senhas:

"Nicole Kidman" -> Tmljb2xlIEtpZG1hbg==
"Nicole kidman" -> Tmljb2xlIGtpZG1hbg==

(OK, se você prefere outra atriz ponha outro exemplo aqui
Por exemplo, "Jennifer Lopez" -> SmVuaWZmZXIgTG9wZXo= )

Se você olhar direitinho, as senhas são quase iguais, e quando você usa "Base-64" para convertê-las, elas também são quase iguais (uma letra E na primeira posição, uma letra G na segunda posição).
Ou seja, qualquer um, com um pouco de paciência, seria capaz de (olhando um arquivo com várias senhas) deduzir como é que você fez a codificação.

Usando o MD5, isso já é mais complicado (como o exemplo que dei no programa postado). Na verdade, no caso do MD5, seria necessária uma busca exaustiva para achar a senha.

(O Oyama notou que estou usando o MD5, que está "deprecated"; pode trocar por algum outro algoritmo, como o SHA-256. (O SHA-1 também foi considerado inseguro.)


Então julio eu estava lendo o tópico ja que estou procurando também uma forma de criptografia eficiente, mas o meu objetivo não é para usar como senha, mas com transferência de informações, pois no meu programa existe um certo momento que o usuário pode alterar as informações e por isso e importante que esteja criptografado então para que o mesmo funcione preciso de algo que alem de criptografar também eu possa depois fazer a descriptografa

Pelo que eu vi em minhas pesquisas, o "MD5" e quase impossível de descriptografa, então ele se funciona comparando as senhas criptografadas ja que no banco de dados vai ficar a senha criptografado e quando o usuario digitar a senha a mesma digitada será criptografada e comparada, mas esse formato não funciona para min

Então se auguem souber como me ajudar agradeço


http://thingol-guj.blogspot.com/2008/05/criptografia-rsa.html

acredito que isso te ajude.
aix
Virtual Machine Man
[Avatar]

Membro desde: 16/09/2007 08:31:00
Mensagens: 661
Offline

Victor Gerin wrote:
thingol wrote:Rulio, é o seguinte: criptografia é algo que é um pouco mais complicado que parece.

Digamos que você use o seu algoritmo para "cifrar" as seguintes senhas:

"Nicole Kidman" -> Tmljb2xlIEtpZG1hbg==
"Nicole kidman" -> Tmljb2xlIGtpZG1hbg==

(OK, se você prefere outra atriz ponha outro exemplo aqui
Por exemplo, "Jennifer Lopez" -> SmVuaWZmZXIgTG9wZXo= )

Se você olhar direitinho, as senhas são quase iguais, e quando você usa "Base-64" para convertê-las, elas também são quase iguais (uma letra E na primeira posição, uma letra G na segunda posição).
Ou seja, qualquer um, com um pouco de paciência, seria capaz de (olhando um arquivo com várias senhas) deduzir como é que você fez a codificação.

Usando o MD5, isso já é mais complicado (como o exemplo que dei no programa postado). Na verdade, no caso do MD5, seria necessária uma busca exaustiva para achar a senha.

(O Oyama notou que estou usando o MD5, que está "deprecated"; pode trocar por algum outro algoritmo, como o SHA-256. (O SHA-1 também foi considerado inseguro.)


Então julio eu estava lendo o tópico ja que estou procurando também uma forma de criptografia eficiente, mas o meu objetivo não é para usar como senha, mas com transferência de informações, pois no meu programa existe um certo momento que o usuário pode alterar as informações e por isso e importante que esteja criptografado então para que o mesmo funcione preciso de algo que alem de criptografar também eu possa depois fazer a descriptografa

Pelo que eu vi em minhas pesquisas, o "MD5" e quase impossível de descriptografa, então ele se funciona comparando as senhas criptografadas ja que no banco de dados vai ficar a senha criptografado e quando o usuario digitar a senha a mesma digitada será criptografada e comparada, mas esse formato não funciona para min

Então se auguem souber como me ajudar agradeço



acha trabalhoso se você implementasse seu próprio algoritimo de criptografia ? seria a mais segura, pois sómente você saberia a formula, e poderia ter as duas vias criptografar e descriptografar.

[MSN]
 
Índice dos Fóruns » Ferramentas, Frameworks e Utilitários
Ir para:   
Powered by JForum 2.1.8 © JForum Team