Buenas,
Tengo este cacho de codigo:
byte[] bsha1;
.
.
.
System.out.println("bsha1" + new String(bsha1));
System.out.println("bsha1.lenght: " + bsha1.length);
for(int i = 0;i<bsha1.length;i++){
shaC = shaC + Hex.encodeHexString(String.valueOf(new String(bsha1).charAt(i)).getBytes("ISO-8859-1" )).substring(1);
}
Es una idiotez, simplemente de un array de bytes "bsha1" obtengo su longitud, y luego lo recorro con un for convirtiendo cada carácter, por eso el "charAt(i)", en Hexadecimal.
Sin embargo, aunque el "bsha1.lenght" me dice que la longitud del byte[] es de 20. A la hora de hacer el charAt(i), llega un momento en que me dice que el indice no existe (IndexofArrayOutOfBounfException o algo así), siempre antes de llegar a 19 que seria el indice máximo que tomaría.
En Windows funciona perfectamente el fallo solo lo tengo en LINUX.
¿Alguien sabe la razón?