mirror of
https://gitlab.com/pulsechaincom/erigon-pulse.git
synced 2024-12-22 11:41:19 +00:00
crypto: a few extra tests (#7795)
* crypto: keccak256 tests * crypto: ecies decrypt test
This commit is contained in:
parent
affef546b1
commit
ecc1514321
@ -20,6 +20,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
|
"golang.org/x/crypto/sha3"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
"testing"
|
"testing"
|
||||||
@ -52,6 +53,33 @@ func TestKeccak256Hasher(t *testing.T) {
|
|||||||
checkhash(t, "Sha3-256-array", func(in []byte) []byte { h := HashData(hasher, in); return h[:] }, msg, exp)
|
checkhash(t, "Sha3-256-array", func(in []byte) []byte { h := HashData(hasher, in); return h[:] }, msg, exp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestKeccak256HasherNew(t *testing.T) {
|
||||||
|
msg := []byte("abc")
|
||||||
|
exp, _ := hex.DecodeString("3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532")
|
||||||
|
hasher := sha3.New256()
|
||||||
|
hasher.Write(msg)
|
||||||
|
var h libcommon.Hash
|
||||||
|
if !bytes.Equal(exp, hasher.Sum(h[:0])) {
|
||||||
|
t.Fatalf("hash %s mismatch: want: %x have: %x", "new", exp, h[:])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestKeccak256HasherMulti(t *testing.T) {
|
||||||
|
exp1, _ := hex.DecodeString("d341f310fa772d37e6966b84b37ad760811d784729b641630f6a03f729e1e20e")
|
||||||
|
exp2, _ := hex.DecodeString("6de9c0166df098306abb98b112c0834c29eedee6fcba804c7c4f4568204c9d81")
|
||||||
|
hasher := NewKeccakState()
|
||||||
|
d1, _ := hex.DecodeString("1234")
|
||||||
|
hasher.Write(d1)
|
||||||
|
d2, _ := hex.DecodeString("cafe")
|
||||||
|
hasher.Write(d2)
|
||||||
|
d3, _ := hex.DecodeString("babe")
|
||||||
|
hasher.Write(d3)
|
||||||
|
checkhash(t, "multi1", func(in []byte) []byte { var h libcommon.Hash; return hasher.Sum(h[:0]) }, []byte{}, exp1)
|
||||||
|
d4, _ := hex.DecodeString("5678")
|
||||||
|
hasher.Write(d4)
|
||||||
|
checkhash(t, "multi2", func(in []byte) []byte { var h libcommon.Hash; return hasher.Sum(h[:0]) }, []byte{}, exp2)
|
||||||
|
}
|
||||||
|
|
||||||
func TestToECDSAErrors(t *testing.T) {
|
func TestToECDSAErrors(t *testing.T) {
|
||||||
if _, err := HexToECDSA("0000000000000000000000000000000000000000000000000000000000000000"); err == nil {
|
if _, err := HexToECDSA("0000000000000000000000000000000000000000000000000000000000000000"); err == nil {
|
||||||
t.Fatal("HexToECDSA should've returned error")
|
t.Fatal("HexToECDSA should've returned error")
|
||||||
|
@ -440,3 +440,13 @@ func decode(s string) []byte {
|
|||||||
}
|
}
|
||||||
return bytes
|
return bytes
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDecrypt(t *testing.T) {
|
||||||
|
data, _ := hex.DecodeString("043c8d19a2957e1f259cf325ad4c7f60a94bead921c7cedc135600511d51ee1d7f44d72fde3b9c9506dd3e6c69f4c10c910ea4257e42cd4335531cb2add1aed3b47e568f1473487279fdac238aa323409df92235a13d8a9036ac8d2ad3968c5f0483cd7a5fd6a441e520870644d3c61a630229b01f3e19fbd25e751ec9cfa5782abcd48a5ee406742d20a329e005761316f6963b0ec4b50f2ec3bbb022227961893a51ae568094267f27babeae3b452de67cd084fb5d03c635d7cebba86f8814b469ead9dad2504b79ca6e08e8f1db59747470054c61638000687b04a83af75111e196d253ef42697da2dd11c2bf67796b8f273a5161d7fdcfbc77332f3e0872dede7c33d6671b0b7fc7bf62db549123b0dfa66a2d76dd921faf9de35522863c8b7bc3d1a37af2d1b7f347bfdcf29b3fb7b038b86e22bd3b1a8e5b2520c52ea4ac1ce968672325bc1332b0966d2c5280b6980431e86792a485e5402aada661c6c848635d0fee662dcaa117249d346f875ffe7d85de9f6fa146d9f560bca9cee86c55028bcea3d29e38d44c4e74fd58f9cd66441f720f22349d60524aa3aae37a3f6da0cea78ca6162ce3b6b6ae3626562d6db3822f35710a95af90f4ba4eac1372dbf941e1c81567410a05fa9caaf2")
|
||||||
|
key := hexKey("36a7edad64d51a568b00e51d3fa8cd340aa704153010edf7f55ab3066ca4ef21")
|
||||||
|
extra, _ := hex.DecodeString("01cf")
|
||||||
|
_, err := key.Decrypt(data, nil, extra)
|
||||||
|
if err != nil {
|
||||||
|
t.Fatal(err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user