Files
goEncrypt/des/tripledes_test.go
songguangyang 4f230e5321 modify test
2022-07-08 10:51:34 +08:00

56 lines
1.6 KiB
Go

package des
import (
"github.com/stretchr/testify/assert"
"testing"
)
var (
key24 = "123456781234567812345678"
plainText = "TestTripleDes"
)
func TestTripleDesCbc(t *testing.T) {
cipherBytes, err := TripleDesEncrypt([]byte(plaintext), []byte(key24), nil)
assert.Nil(t, err)
text, err := TripleDesDecrypt(cipherBytes, []byte(key24), nil)
assert.Nil(t, err)
assert.Equal(t, string(text), plaintext)
assert.NotEqual(t, string(text), "test")
cipherBytes, err = TripleDesEncrypt([]byte(plaintext), []byte(key24), []byte(goodiv))
assert.Nil(t, err)
text, err = TripleDesDecrypt(cipherBytes, []byte(key24), []byte(goodiv))
assert.Nil(t, err)
assert.Equal(t, string(text), plaintext)
assert.NotEqual(t, string(text), "test")
cipherBytes, err = TripleDesEncrypt([]byte(plaintext), []byte(key24), []byte(badiv))
assert.NotNil(t, err)
cipherBytes, err = TripleDesEncrypt([]byte(plaintext), []byte(badiv), []byte(badiv))
assert.NotNil(t, err)
}
func TestTripleDesEncryptBase64(t *testing.T) {
cipher, err := TripleDesEncryptBase64([]byte(plainText), []byte(key24), nil)
assert.Nil(t, err)
text, err := TripleDesDecryptByBase64(cipher, []byte(key24), nil)
assert.Nil(t, err)
assert.Equal(t, string(text), plainText)
_, err = TripleDesDecryptByBase64("11111", []byte(key24), nil)
assert.NotNil(t, err)
}
func TestTripleDesEncryptHex(t *testing.T) {
cipher, err := TripleDesEncryptHex([]byte(plainText), []byte(key24), nil)
assert.Nil(t, err)
text, err := TripleDesDecryptByHex(cipher, []byte(key24), nil)
assert.Nil(t, err)
assert.Equal(t, string(text), plainText)
_, err = TripleDesDecryptByHex("11111", []byte(key24), nil)
assert.NotNil(t, err)
}