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 }