26 lines
472 B
Go
Executable File
26 lines
472 B
Go
Executable File
package consensus
|
|
|
|
import (
|
|
"crypto/sha256"
|
|
"testing"
|
|
|
|
"git.marketally.com/tutus-one/tutus-chain/pkg/crypto/keys"
|
|
"github.com/stretchr/testify/require"
|
|
)
|
|
|
|
func TestCrypt(t *testing.T) {
|
|
priv, err := keys.NewPrivateKey()
|
|
require.NoError(t, err)
|
|
|
|
pub := priv.PublicKey()
|
|
|
|
data := []byte{1, 2, 3, 4}
|
|
hash := sha256.Sum256(data)
|
|
|
|
sign := priv.Sign(data)
|
|
require.True(t, pub.Verify(sign, hash[:]))
|
|
|
|
sign[0] = ^sign[0]
|
|
require.False(t, pub.Verify(sign, hash[:]))
|
|
}
|