diff --git a/g/crypto/gaes/gaes_test.go b/g/crypto/gaes/gaes_test.go index 36f0101a7..9805dda4a 100644 --- a/g/crypto/gaes/gaes_test.go +++ b/g/crypto/gaes/gaes_test.go @@ -22,6 +22,7 @@ var ( content_24, _ = gbase64.Decode("0TXOaj5KMoLhNWmJ3lxY1A==") content_32, _ = gbase64.Decode("qM/Waw1kkWhrwzek24rCSA==") content_16_iv, _ = gbase64.Decode("DqQUXiHgW/XFb6Qs98+hrA==") + content_32_iv, _ = gbase64.Decode("ZuLgAOii+lrD5KJoQ7yQ8Q==") // iv 长度必须等于blockSize,只能为16 iv = []byte("Hello My GoFrame") key_16 = []byte("1234567891234567") @@ -47,6 +48,36 @@ func TestEncrypt(t *testing.T) { data, err = gaes.Encrypt(content, key_16, iv) gtest.Assert(err, nil) gtest.Assert(string(data), content_16_iv) + data, err = gaes.Encrypt(content, key_32, iv) + gtest.Assert(err, nil) + gtest.Assert(string(data), content_32_iv) + }) +} + +func TestDecrypt(t *testing.T) { + gtest.Case(t, func() { + decrypt, err := gaes.Decrypt([]byte(content_16), key_16) + gtest.Assert(err, nil) + gtest.Assert(string(decrypt), string(content)) + + decrypt, err = gaes.Decrypt([]byte(content_24), key_24) + gtest.Assert(err, nil) + gtest.Assert(string(decrypt), string(content)) + + decrypt, err = gaes.Decrypt([]byte(content_32), key_32) + gtest.Assert(err, nil) + gtest.Assert(string(decrypt), string(content)) + + decrypt, err = gaes.Decrypt([]byte(content_16_iv), key_16, iv) + gtest.Assert(err, nil) + gtest.Assert(string(decrypt), string(content)) + + decrypt, err = gaes.Decrypt([]byte(content_32_iv), key_32, iv) + gtest.Assert(err, nil) + gtest.Assert(string(decrypt), string(content)) + + decrypt, err = gaes.Decrypt([]byte(content_32_iv), keys, iv) + gtest.Assert(err, "invalid padding") }) } @@ -94,31 +125,3 @@ func TestPKCS5UnPaddingErr(t *testing.T) { gtest.AssertNE(err, nil) }) } - -func TestDecrypt(t *testing.T) { - gtest.Case(t, func() { - encrypt, err := gaes.Encrypt(content, key_16) - decrypt, err := gaes.Decrypt(encrypt, key_16) - gtest.Assert(err, nil) - gtest.Assert(string(decrypt), string(content)) - - encrypt, err = gaes.Encrypt(content, key_24) - decrypt, err = gaes.Decrypt(encrypt, key_24) - gtest.Assert(err, nil) - gtest.Assert(string(decrypt), string(content)) - - encrypt, err = gaes.Encrypt(content, key_32) - decrypt, err = gaes.Decrypt(encrypt, key_32) - gtest.Assert(err, nil) - gtest.Assert(string(decrypt), string(content)) - - encrypt, err = gaes.Encrypt(content, key_32, iv) - decrypt, err = gaes.Decrypt(encrypt, key_32, iv) - gtest.Assert(err, nil) - gtest.Assert(string(decrypt), string(content)) - - encrypt, err = gaes.Encrypt(content, key_32, iv) - decrypt, err = gaes.Decrypt(encrypt, keys, iv) - gtest.Assert(err, "invalid padding") - }) -}