API para criptografia

E ai pessoal,

Vocês tem algum material e até mesmo se tem nativo no java sdk uma api para criptografia de dados???

É que terei que gravar uma senha em um arquivo XML e queria deixar ela criptografada

vlw!

Eu nunca usei as classes de Criptografia do Java
Mas você pode criar uma simples mechendo com string s e char[]

[quote=Mark_Ameba]Eu nunca usei as classes de Criptografia do Java
Mas você pode criar uma simples mechendo com string s e char[][/quote]

pois é eu até fiz assim em primeiro momento!

mas queria algo mais protegido!

Olá.

Dá uma olhada na API, tem uma classe Encrypta(se não me engano, o nome é esse). Lí em algum lugar sobre ela, mas nunca usei!!! :cry:

a SUn tem varias apis p isso…
aki no guj tem um artigo sobre isso…

http://www.guj.com.br/java.tutorial.artigo.32.1.guj

existe varias… tem tbm a API JSSE da sun

abvcs

Procure por JCA (Java Cryptography Architecture) e por JCE (Java Cryptography Extension). Isto deve resolver o seu problema com criptografia em Java.

Vc pode pesquisar algo sobre MD5. É uma criptografia muito usada, a única questão é que se trata de uma criptografia “sem volta”, ou seja, vc não tem como descriptografar.

Qdo quiser comparar se a senha que gravou está de acordo com a digitada, vc tem que pegar a senha digitada, criptografar e comparar o resultado com a que está gravada (já criptografada).

http://java.sun.com/j2se/1.4.2/docs/guide/security/CryptoSpec.html

Tah aih oq vc procura!

import java.math.*;
import java.security.*;

public class Md5 {
	public String getMd5(String senha) {
		String senhamd5 = "";
		MessageDigest md = null;
		try {
			md = MessageDigest.getInstance("MD5");
			BigInteger hash = new BigInteger(1, md.digest(senha.getBytes()));
			senhamd5 = hash.toString(16);
		} catch (NoSuchAlgorithmException e) {

		}
		return senhamd5;
	}
}

Cara na API do java tem a classe de criptografia já comentada aqui, no final de semana passado 25/08/2007 teve um evento na Ufscar sobre segurança em Java.
Foi muito produtivo, com um tema atual e com ótimos palestrantes, no qual foi apresentado conceitos de chaves (simétrica e assimétrica), certificados e criptografia tudo usando classes do Java.
Se vc quiser o material sobre esta no site do evento:

http://www.dc.ufscar.br:8080/extensao/final/diadejava/index.jsp?t=apresentacoes

Obs.: A apresentação do Bruno Souza sobre “Conceitos básicos de Criptografia em Java” é perfeita para o que vc. precisa, mas ainda não está disponível, eu estou aguardando :lol:

abraços

http://java.sun.com/products/jce/

http://www.java2s.com/Code/Java/Security/EncryptingandDecryptingwiththeJCE.htm