А не, но правильно работает, видимо с диджестом что-то не так
попутно нашел багу, что не гнал read через DigestInputStream, хотя подрубил его ) а в стринг в итоге гоню через
byte[] digest = md.digest();
StringBuilder hexString = new StringBuilder();
for (int i = 0; i < digest.length; i++) {
if ((0xff & digest[i]) < 0x10) {
hexString.append("0" + Integer.toHexString((0xFF & digest[i])));
} else {
hexString.append(Integer.toHexString(0xFF & digest[i]));
}
}