1
0
Fork 0
mirror of https://github.com/anyproto/any-sync.git synced 2025-06-08 05:57:03 +09:00
any-sync/util/crypto/ed25519_test.go
2023-06-27 19:44:44 +02:00

34 lines
790 B
Go

package crypto
import (
"crypto/rand"
"testing"
"github.com/stretchr/testify/require"
)
func Test_EncryptDecrypt(t *testing.T) {
privKey, pubKey, err := GenerateEd25519Key(rand.Reader)
require.NoError(t, err)
msg := make([]byte, 32000)
_, err = rand.Read(msg)
require.NoError(t, err)
enc, err := pubKey.Encrypt(msg)
require.NoError(t, err)
dec, err := privKey.Decrypt(enc)
require.NoError(t, err)
require.NotEqual(t, enc, dec)
require.Equal(t, dec, msg)
}
func Test_SignVerify(t *testing.T) {
privKey, pubKey, err := GenerateEd25519Key(rand.Reader)
require.NoError(t, err)
msg := make([]byte, 32000)
_, err = rand.Read(msg)
sign, err := privKey.Sign(msg)
require.NoError(t, err)
res, err := pubKey.Verify(msg, sign)
require.NoError(t, err)
require.True(t, res)
}