Aguem aqui ja trabalhou com criptografia usando o padrao MD5 ? esse padrão esta implementado no JAVA ? me passaram o codigo abaixo, mais não funciona ? tem alguma coisa errada ?
Foi para mim mesmo que vc respondeu elvis, o codigo acima e de sua altoria a unica coisa que eu mudei e que vc me passou um metodo String.toBytes e na verdade esse metodo não existe oque existe e String.getByte mais não esta criptografando !!! esse e o problema a função simplimente não funciona, mais tb não da erro. vc tem uma explicação para isso ?
import java.security.*;
/*
* DataArq.java
*
* Created on 21 de Janeiro de 2003, 14:31
*/
/**
*
* @author freitas
*/
public class DataArq {
public static void main(String[] args) {
DataArq a = new DataArq();
System.out.println(a.encripta("Elvis.The.Pelvis"));
}
public String encripta(String passwd) {
byte[] cripty = passwd.getBytes();
byte[] resultado;
try {
MessageDigest md5 = MessageDigest.getInstance("MD5");
resultado = md5.digest(cripty);
}catch(NoSuchAlgorithmException e) {
javax.swing.JOptionPane.showMessageDialog(null,e.toString());
resultado = "".getBytes();
}
return new String(resultado);
}
}
A resposta dá: c♠È£µ↑½Ùº╦"I£↓^■
Bem, na verdade a resposta é menor só que quando eu colei aqui no fórum ele deve ter substituido alguns caracteres por códigos. A resposta deve ser uma string contendo 16 caracteres. O padrão MD5 retorna um array de 32 bytes, que quando utilizados para construir uma String da uma de 16 chars, já que no unicode 2 bytes = 1 char.
E oque vc me diz do codigo passado pelo nosso amigo dukejeffrie, fiz por ele e tb criptrografou. na verdade elvis eu quero criar um pequeno Servelet quue escreva np passwd do Linux então eu tenho de ter certteza de que a criptografia bate blz …
Eu preciso acessar um WebService autenticado. Para isso eu devo gerar uma chave pública e uma privada. Deverei usar o algorítmo MD5 com RSA.
Deverei passar a string do hexadecimal da chave pública, no formato X509 para o fornecedor do WebService, para que ele possa me autenticar, pelo código de acesso encriptado pela minha chave privada.