diff options
author | Mission Liao <mission.liao@dexon.org> | 2018-09-26 16:55:15 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-26 16:55:15 +0800 |
commit | 663817d3e0d5a3c28cb0c5e378a533e242af5fdf (patch) | |
tree | 8d1952cc04a5735ce7cd060445667160bb21fc60 /core/crypto/utils.go | |
parent | e8468d7206dbee2a8dfb34bfccc29d0d7273a777 (diff) | |
download | dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar.gz dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar.bz2 dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar.lz dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar.xz dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.tar.zst dexon-consensus-663817d3e0d5a3c28cb0c5e378a533e242af5fdf.zip |
core: move crypto to core/crypto (#140)
- Move key-holder to authenticator
Make core.keyHolder public as core.Authenticator, it
is not required to make this part an interface.
- Make private when there is no need to go public.
- Fix data race
Diffstat (limited to 'core/crypto/utils.go')
-rw-r--r-- | core/crypto/utils.go | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/core/crypto/utils.go b/core/crypto/utils.go new file mode 100644 index 0000000..07a8b2b --- /dev/null +++ b/core/crypto/utils.go @@ -0,0 +1,41 @@ +// Copyright 2018 The dexon-consensus-core Authors +// This file is part of the dexon-consensus-core library. +// +// The dexon-consensus-core library is free software: you can redistribute it +// and/or modify it under the terms of the GNU Lesser General Public License as +// published by the Free Software Foundation, either version 3 of the License, +// or (at your option) any later version. +// +// The dexon-consensus-core library is distributed in the hope that it will be +// useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser +// General Public License for more details. +// +// You should have received a copy of the GNU Lesser General Public License +// along with the dexon-consensus-core library. If not, see +// <http://www.gnu.org/licenses/>. + +package crypto + +import ( + "encoding/hex" + + "github.com/ethereum/go-ethereum/crypto" + + "github.com/dexon-foundation/dexon-consensus-core/common" +) + +// Keccak256Hash calculates and returns the Keccak256 hash of the input data, +// converting it to an internal Hash data structure. +func Keccak256Hash(data ...[]byte) (h common.Hash) { + return common.Hash(crypto.Keccak256Hash(data...)) +} + +// Clone returns a deep copy of a signature. +func (sig Signature) Clone() Signature { + return append(Signature{}, sig...) +} + +func (sig Signature) String() string { + return hex.EncodeToString([]byte(sig[:])) +} |