基本的に、私の問題は 2 つあり、特にビットコイン RPC に言及しています。Litecoin (BTC のスピンオフ) 用に Java でマイナーを作成しており、次のような文字列を取得する必要があります。
000000000000000000000000000000000000000000000000000000ffff0f0000
のように変換します。
00000fffff000000000000000000000000000000000000000000000000000000
(リトルエンディアンからビッグエンディアンへの切り替えだと思います)
次に、その文字列をバイト配列に変換する必要があります -
org.apache の Hex クラス、String.toByte()、および次のようなコードを見てきました。
public static byte[] toByta(char[] data) {
if (data == null) return null;
// ----------
byte[] byts = new byte[data.length * 2];
for (int i = 0; i < data.length; i++)
System.arraycopy(toByta(data[i]), 0, byts, i * 2, 2);
return byts;
}
本質的に:Javaでエンディアンを変更する最良の方法は何ですか? また、数値の文字列表現を取得し、それをバイト配列に変換してハッシュする最良の方法は何ですか?
編集:エンディアンを変更した後、間違った結果が得られました。