github.com/aliyun/aliyun-oss-go-sdk@v3.0.2+incompatible/oss/crypto/cipher_test.go (about)

     1  package osscrypto
     2  
     3  import (
     4  	"io"
     5  	"strings"
     6  
     7  	. "gopkg.in/check.v1"
     8  )
     9  
    10  func (s *OssCryptoBucketSuite) TestAesCtr(c *C) {
    11  	var cipherData CipherData
    12  	cipherData.RandomKeyIv(32, 16)
    13  	cipher, _ := newAesCtr(cipherData)
    14  
    15  	byteReader := strings.NewReader(RandLowStr(100))
    16  	enReader := cipher.Encrypt(byteReader)
    17  	encrypter := &CryptoEncrypter{Body: byteReader, Encrypter: enReader}
    18  	encrypter.Close()
    19  	buff := make([]byte, 10)
    20  	n, err := encrypter.Read(buff)
    21  	c.Assert(n, Equals, 0)
    22  	c.Assert(err, Equals, io.EOF)
    23  
    24  	deReader := cipher.Encrypt(byteReader)
    25  	Decrypter := &CryptoDecrypter{Body: byteReader, Decrypter: deReader}
    26  	Decrypter.Close()
    27  	buff = make([]byte, 10)
    28  	n, err = Decrypter.Read(buff)
    29  	c.Assert(n, Equals, 0)
    30  	c.Assert(err, Equals, io.EOF)
    31  
    32  }