Como transformar string para byte?

1 resposta
M

Salve,

Galera estou tentando criptografar uma mensagem, bem para criptografar a mensagem tem que ser do tipo byte, mas os dados que receberei do usuário serão do tipo string. Seria como o exemplo abaixo:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

import javax.swing.JOptionPane;

public class oi
{
	public static void main(String args[])
	{
		byte chave = Byte.parseByte( JOptionPane.showInputDialog(null, "Entre com um texto"));
		
		String teste = criptografa( chave );
		
		JOptionPane.showMessageDialog(null, "A senha criptografada é: " + teste,
				"Criptografia", JOptionPane.INFORMATION_MESSAGE );
		System.exit(0);
		
	}
	
	// criptografa chave de acesso
	private static String criptografa( byte senhaNormal )
	{
		try 
		{
			MessageDigest digest = MessageDigest.getInstance("MD5");
			digest.update( senhaNormal );
			
			
			byte[] senhaCriptografada = digest.digest();
			
			return new String ( senhaCriptografada );
		} 
		catch ( NoSuchAlgorithmException e )
		{
			System.out.println( e.toString() );
		}
		return null;
	}
}

Bem, pela descrição do método Byte.parseByte(); o argumento de entrada seria uma string, mas como vocês podem tentar executar ele apresenta erro na conversão do string para byte.

alguém teria alguma sugestão??

:pensativo:

1 Resposta

S

Olá, Marcos,

uma string é na realidade um CONJUNTO de bytes, e você está tentando jogar um conjunto destes bytes num único!

VocÊ poderia tentar algo assim:

String str = JOptionPane.showInputDialog(null, “Entre com um texto”);
byte[] chave=str.getBytes();

e tentar criptografar este array de bytes!

spier

Criado 9 de abril de 2005
Ultima resposta 10 de abr. de 2005
Respostas 1
Participantes 2