You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
889 B
33 lines
889 B
// Copyright (c) 2015 The Decred developers |
|
// Copyright (c) 2016-2017 The btcsuite developers |
|
// Use of this source code is governed by an ISC |
|
// license that can be found in the LICENSE file. |
|
|
|
package chainhash |
|
|
|
import ( |
|
"crypto.orly/sha256" |
|
) |
|
|
|
// HashB calculates hash(b) and returns the resulting bytes. |
|
func HashB(b []byte) []byte { |
|
hash := sha256.Sum256(b) |
|
return hash[:] |
|
} |
|
|
|
// HashH calculates hash(b) and returns the resulting bytes as a Hash. |
|
func HashH(b []byte) Hash { return Hash(sha256.Sum256(b)) } |
|
|
|
// DoubleHashB calculates hash(hash(b)) and returns the resulting bytes. |
|
func DoubleHashB(b []byte) []byte { |
|
first := sha256.Sum256(b) |
|
second := sha256.Sum256(first[:]) |
|
return second[:] |
|
} |
|
|
|
// DoubleHashH calculates hash(hash(b)) and returns the resulting bytes as a |
|
// Hash. |
|
func DoubleHashH(b []byte) Hash { |
|
first := sha256.Sum256(b) |
|
return sha256.Sum256(first[:]) |
|
}
|
|
|