From 83de8c7b40e04b54e5b7c61396d7749eb4050ffa Mon Sep 17 00:00:00 2001 From: Andreas Auernhammer Date: Sun, 12 Feb 2017 22:07:51 +0100 Subject: [PATCH] blake2b: register BLAKE2b Register BLAKE2b-256, BLAKE2b-384 and BLAKE2b-512 if the package is imported. Change-Id: Iba425a62b42ed07219f7e56ff173ed5ae503704e Reviewed-on: https://go-review.googlesource.com/36877 Reviewed-by: Matt Layher Reviewed-by: Adam Langley Run-TryBot: Matt Layher TryBot-Result: Gobot Gobot --- blake2b/register.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 blake2b/register.go diff --git a/blake2b/register.go b/blake2b/register.go new file mode 100644 index 0000000..efd689a --- /dev/null +++ b/blake2b/register.go @@ -0,0 +1,32 @@ +// Copyright 2017 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.9 + +package blake2b + +import ( + "crypto" + "hash" +) + +func init() { + newHash256 := func() hash.Hash { + h, _ := New256(nil) + return h + } + newHash384 := func() hash.Hash { + h, _ := New384(nil) + return h + } + + newHash512 := func() hash.Hash { + h, _ := New512(nil) + return h + } + + crypto.RegisterHash(crypto.BLAKE2b_256, newHash256) + crypto.RegisterHash(crypto.BLAKE2b_384, newHash384) + crypto.RegisterHash(crypto.BLAKE2b_512, newHash512) +}