An implementation of the SHA-256d hash for the Go programming language.
Copyright (C) 2013 Jochen Voss
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This package provides an implementation of the SHA-256d hash algorithm (also known as "double SHA-256") for the Go programming language. SHA-256d is a cryptographic hash, first proposed by Ferguson and Schneier in the book "Practical Cryptography". The SHA-256d hash is used in the Bitcoin protocol and in the Fortuna random number generator.
The SHA-256d hash is obtained by applying the SHA-256 hash twice, i.e. by first applying SHA-256 to the data and then again to the resulting hash.
go get github.com/seehuhn/sha256d
The sha256d package implements the standard hash.Hash interface. Example:
hash := sha256d.New() n, _ := hash.Write(byte("hello")) hashVal := hash.Sum(nil)