Olá 
Então, pessoal. Ontem eu tive a necessidade de fazer uma conversão de um array de bytes MD5 para uma String hexadecimal. Com um código apresentado pelo entanglement aqui, e algumas adaptações tudo funcionou como deveria.
Mas qual o problema? Eu não faço ideia de como esse código funciona. O problema aqui não é o que deve ser feito, mas como foi feito. Alguém consegue me explicar como esse código funciona? Eu realmente não gosto de usar um código que não entendo hehehe.
Alguns links para um material que me ajuda já serão suficientes, só quero saber como pesquisar. Fazendo pesquisas no google eu só encontro métodos com código pronto, e não é isso que eu quero.
Só pra constar aqui no tópico. O método do entanglement é esse:
private static char[] hexDigits = "0123456789ABCDEF".toCharArray();
public static String hex (byte[] digest) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < digest.length; i++) {
sb.append(hexDigits[(digest[i] >> 4) & 0xF]);
sb.append(hexDigits[digest[i] & 0xF]);
}
return sb.toString();
}