は、128バイトのデータを有する、例えば:進み、midstate SHA-256ハッシュ
00000001c570c4764aadb3f09895619f549000b8b51a789e7f58ea750000709700000000103ca064f8c76c390683f8203043e91466a7fcc40e6ebc428fbcc2d89b574a864db8345b1b00b5ac00000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000080020000
、その上にSHA-256ハッシュを実行したい、一つはデータの2つの64バイトに分離しなければならないと結果を一緒にハッシュする前にそれらを個別にハッシュします。データの後半でビットを頻繁に変更する場合は、計算を単純化し、データの前半を1回だけハッシュすることができます。 Google Goでそれをどうやって行いますか?私は誰かがいることを取得していくつかの問題があるかもしれないと述べ、
func SingleSHA(b []byte)([]byte){
var h hash.Hash = sha256.New()
h.Write(b)
return h.Sum()
}
しかし、その代わりにBitcoin forum上の問題を議論するとき、私は
12E84A43CBC7689AE9916A30E1AA0F3CA12146CBF886B60103AEC21A5CFAA268
を得た
e772fc6964e7b06d8f855a6166353e48b2562de4ad037abc889294cea8ed1070
適切な答えのを呼び出してみました中期ハッシュ
Google GoでMidstate SHA-256ハッシュを計算するにはどうすればよいですか?
Go 1.0.3では、Sumはバイトスライスを取るので、 'h.Sum([byte]}'を返さなければなりません。 – emicklei
'h.Sum(nil)'も有効です@emicklei: ) – elimisteve