diff --git a/hash160.go b/hash160.go new file mode 100644 index 0000000..62d42b5 --- /dev/null +++ b/hash160.go @@ -0,0 +1,22 @@ +// Copyright (c) 2013 Conformal Systems LLC. +// Use of this source code is governed by an ISC +// license that can be found in the LICENSE file. + +package btcutil + +import ( + "code.google.com/p/go.crypto/ripemd160" + "crypto/sha256" + "hash" +) + +// Calculate the hash of hasher over buf. +func calcHash(buf []byte, hasher hash.Hash) []byte { + hasher.Write(buf) + return hasher.Sum(nil) +} + +// Hash160 calculates the hash ripemd160(sha256(b)). +func Hash160(buf []byte) []byte { + return calcHash(calcHash(buf, sha256.New()), ripemd160.New()) +}