OSDN Git Service

new repo
[bytom/vapor.git] / vendor / github.com / tendermint / go-crypto / symmetric_test.go
1 package crypto
2
3 import (
4         "testing"
5
6         "github.com/stretchr/testify/assert"
7         "github.com/stretchr/testify/require"
8
9         "golang.org/x/crypto/bcrypt"
10 )
11
12 func TestSimple(t *testing.T) {
13
14         MixEntropy([]byte("someentropy"))
15
16         plaintext := []byte("sometext")
17         secret := []byte("somesecretoflengththirtytwo===32")
18         ciphertext := EncryptSymmetric(plaintext, secret)
19         plaintext2, err := DecryptSymmetric(ciphertext, secret)
20
21         require.Nil(t, err, "%+v", err)
22         assert.Equal(t, plaintext, plaintext2)
23 }
24
25 func TestSimpleWithKDF(t *testing.T) {
26
27         MixEntropy([]byte("someentropy"))
28
29         plaintext := []byte("sometext")
30         secretPass := []byte("somesecret")
31         secret, err := bcrypt.GenerateFromPassword(secretPass, 12)
32         if err != nil {
33                 t.Error(err)
34         }
35         secret = Sha256(secret)
36
37         ciphertext := EncryptSymmetric(plaintext, secret)
38         plaintext2, err := DecryptSymmetric(ciphertext, secret)
39
40         require.Nil(t, err, "%+v", err)
41         assert.Equal(t, plaintext, plaintext2)
42 }