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,