Я пишу программу на Java, которая конвертирует биткойн privateKey в формат WIF.К сожалению, я ошибся в хэше SHA256.
Мой код основан на Basing на этого урока .
Когда я хеширую значение вроде:
800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
В результате я получаю что-то вроде этого:
e2e4146a36e9c455cf95a4f259f162c353cd419cc3fd0e69ae36d7d1b6cd2c09
вместо:
8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592
Это мой кусок кода:
public String getSHA(String value){
String hash = hash = DigestUtils.sha256Hex(value.getBytes());
System.out.println(hash);
return hash;
}
Я использовал эту библиотеку: import org.apache.commons.codec.digest.DigestUtils;
Конечно, я искал эту проблему в Интернете и нашел этот сайт .
На этом сайте есть два текстовых поля - String hash и Binary Hash.Используя хэш String, я получил тот же неверный результат, что и в моей Java-программе.Но, используя бинарный хэш, я получил правильный результат.
Мой вопрос: в чем разница между двоичными и строковыми хэшами?Как реализовать двоичный хэш в моем методе Java?