mirror of
https://github.com/wumansgy/goEncrypt.git
synced 2025-09-26 19:51:27 +08:00
56 lines
1.6 KiB
Go
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)
|
|
} |