У меня вопрос о том, как java печатает HexString и как печатать его в том же формате, что и C# с помощью BitConverter.Формат sha-1 hash like .net делает
Мы (оба) генерируют этот Hex как результат хэширования строки с SHA-1:
a94a8fe5ccb19ba61c4c873d391e987982fbbd3 (хэш для «тест» строка)
Проблема заключается в том, когда мы тестируем хэширования в C# , C# печатает в верхнем регистре и разделяется «-», например A9-4A-8F .. и так далее.
Как распечатать один и тот же формат с помощью java?
Код для хеширования и печати заключается в следующем:
String password = "test";
byte[] key = password.getBytes();
MessageDigest md = MessageDigest.getInstance("SHA-1",new BouncyCastleProvider());
byte[] hash = md.digest(key);
String result = "";
for (byte b : hash) {
result += Integer.toHexString(b & 255);
}
return result;