Boa tarde,
Alguém sabe porque ao criptografa uma string com a letra “u” o resultado é diferente das demais (nro de caracteres menor), o pior é que isso ocorre com palavras que tenham a letra “u” quando encriptografo a senha.
senha: i – senha criptografada – de7d1b721a1e0632b7cf04edf5032c8ecffa9f9a08492152b926f1a5a7e765d7 - nro caracteres: 64
senha: u – senha criptografada – bfe935e70c321c7ca3afc75ce0d0ca2f98b5422e008bb31c00c6d7f1f1c0ad6 - nro caracteres: 63
senha: a – senha criptografada – ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb - nro caracteres: 64
Fonte que gerou a saída acima:
public class testeSenha {
public static void main(String[] args) {
try {
String[] senha = {"i", "u", "a", ""};
MessageDigest algoritmo = MessageDigest.getInstance("SHA-256");
for (int i=0; i<3; i++) {
algoritmo.update(senha[i].getBytes());
String senhaEncriptada = new BigInteger(1, algoritmo.digest()).toString(16);
System.out.println("senha: " + senha[i] + " -- senha criptografada -- " + senhaEncriptada + " - nro caracteres: " + senhaEncriptada.length() );
}
} catch (NoSuchAlgorithmException ex) {
Logger.getLogger(testeSenha.class.getName()).log(Level.SEVERE, null, ex);
}
}
}