>>>header_hex=("01000000"+"81cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000"+"e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122b"+"c7f5d74d"...
>>> header_hex = ("01000000" +
"81cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000" +
"e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122b" +
"c7f5d74d" +
"f2b9441a" +
"42a14695")
>>> header_bin = header_hex.decode('hex')
>>> hash = hashlib.sha256(hashlib.sha256(header_bin).digest()).digest()
>>> hash.encode('hex_codec')
'1dbd981fe6985776b644b173a4d0385ddc1aa2a829688d1e0000000000000000'
>>> hash[::-1].encode('hex_codec')
'00000000000000001e8d6829a8a21adc5d38d0a473b144b6765798e61f98bd1d'
没有学过python,但是查阅了一下方法,根据理解自己改了改,可是结果怪怪的
public static String encode(String str)
{byte[] src=str.getBytes();
public static void main(String [] args){
String str="01000000" + "81cd02ab7e569e8bcd9317e2fe99f2de44d49ab2b8851ba4a308000000000000"+"e320b6c2fffc8d750423db8b1eb942ae710e951ed797f7affc8892b0f1fc122b" +"c7f5d74d" + "f2b9441a" +"42a14695";
String en=encodeHex(str); //调用方法转化为16进制
String h1=hash256.encryptTran(en); //用hash256计算哈希值
String h2=StrToBinstr(h1); //调用方法转化为2进制
String hash1=hash256.encryptTran(h2); //再次哈希
String hash2=StrToBinstr(hash1); //再次转化为2进制
System.out.println(encode(hash2));
}
展开