Давайте использовать следующий блок для справки: http://blockexplorer.com/rawblock/00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d
По моему разумению (правильный, если неправильно), мне нужно выполнить byteSwap на каждом ребенке, выполнить hexToAscii, конкатенацию, а затем выполнить двойную SHA256. Я делаю это в JAVA, в подозреваемого, что мой метод hexToAscii выключен. Я надеялся, что я мог бы дать некоторые результаты, чтобы увидеть, если кто-то может проверить, где проблема.
Код:
Строка childNode = "0d0eb1b4c4b49fd27d100e9cce555d4110594661b1b8ac05a4b8879c84959bd4";
byteSwap (childNode); // d49b95849c87b8a405acb8b161465910415d55ce9c0e107dd29fb4c4b4b10e0d
hexToAscii (byteSwap (childNode)); // Фё¤¬ё ± Afya] Uо} ТґДґ ±
byteSwap (childNode); // d49b95849c87b8a405acb8b161465910415d55ce9c0e107dd29fb4c4b4b10e0d
hexToAscii (byteSwap (childNode)); // Фё¤¬ё ± Afya] Uо} ТґДґ ±
И просто чтобы убедиться, что мой результат hexToAscii правильно, может кто-то проверить SHA256 хэш результата? Я чувствую, что есть кодирующие проблемы с моей реализацией
Код:
sha256 (hexToAscii (byteSwap (childNode)));
// e799dc13aaeaa1c2797596f5d4bf6c408b97a8595bf32c27c9186125454560d9
// e799dc13aaeaa1c2797596f5d4bf6c408b97a8595bf32c27c9186125454560d9
Был бы признателен за любой совет, если что-то кажется прочь! Благодаря!
Я убежден, что существует проблема JAVA с моей реализацией hexToAscii.
Код:
Строка hexToBin общественности (String шестигранной) {
StringBuilder SB = новый StringBuilder ();
StringBuilder, темп = новый StringBuilder ();
// 49204c6f7665204a617661 разделилась на два символа 49, 20, 4с ...
для (INT I = 0; я < hex.length () - 1; I + = 2) {
// захватить гекс в парах
Строка вывода = hex.substring (я, (I + 2));
// преобразовать шестнадцатеричный в десятичную
INT = десятичное Integer.parseInt (выход, 16);
// преобразовать десятичное в символ
sb.append ((символ) десятичный);
temp.append (десятичное);
}
вернуть sb.toString ();
}
StringBuilder SB = новый StringBuilder ();
StringBuilder, темп = новый StringBuilder ();
// 49204c6f7665204a617661 разделилась на два символа 49, 20, 4с ...
для (INT I = 0; я < hex.length () - 1; I + = 2) {
// захватить гекс в парах
Строка вывода = hex.substring (я, (I + 2));
// преобразовать шестнадцатеричный в десятичную
INT = десятичное Integer.parseInt (выход, 16);
// преобразовать десятичное в символ
sb.append ((символ) десятичный);
temp.append (десятичное);
}
вернуть sb.toString ();
}
Некоторые знания будут оценены здесь = / Спасибо