Decodificar uma string base64-encoded

Olá

Eu preciso decodificar uma string base64-encoded que obtenho do LDAP (Formato SSHA). Eu imaginava que seria somente usar um conversor de base 64 como esse.
Mas quando eu coloco a [B@189d7eb dá o seguinte erro Length not a multiple of 4.
Esse mesmo erro dá qdo uso uma outra classe que peguei na net.

Grato

Se você passar um byte array e tentar convertê-lo diretamente para uma string, você vai ter o resultado "[B@algumacoisa" que obviamente não é o conteúdo do byte array. Você só poderia usar "new String(seubytearray)" se souber que não vem nada esquisito nele (como algum byte < 32 ou > 126), senão vai ter problemas também.

Veja se você tem um encoder que aceite byte[] em vez de string.

Deve ter vindo algo assim via ssha:
“/u7LgYjqVEzf/lJPuuXS0R1b+lc=”

mas como um byte[].

Primeiro converta isso para uma String, mas usando “new String()”:

byte[] ssha1 = …;
String s = new String (ssha1);

A seguir, converta de base-64 para byte[] usando seu decoder preferido:

byte[] bytes = seudecoder (s);

Obrigado!
eu não tinha noção que “[B@algumacoisa” era um array. Mas o interessante que não precisei do decoder, bastou da um new String(byte[]).

vlw

presciso de um gerador q funcione que gera texto em base 64 sem viros,