23 lines
566 B
Go
23 lines
566 B
Go
// Copyright (c) 2013-2014 The btcsuite developers
|
|
// Use of this source code is governed by an ISC
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package btcutil
|
|
|
|
import (
|
|
"hash"
|
|
|
|
"github.com/btcsuite/fastsha256"
|
|
"github.com/btcsuite/golangcrypto/ripemd160"
|
|
)
|
|
|
|
// 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, fastsha256.New()), ripemd160.New())
|
|
}
|