github.com/aavshr/aws-sdk-go@v1.41.3/service/s3/s3crypto/aes_cbc_padder.go (about)

     1  package s3crypto
     2  
     3  const (
     4  	pkcs5BlockSize = 16
     5  )
     6  
     7  var aescbcPadding = aescbcPadder{pkcs7Padder{16}}
     8  
     9  // AESCBCPadder is used to pad AES encrypted and decrypted data.
    10  // Although it uses the pkcs5Padder, it isn't following the RFC
    11  // for PKCS5. The only reason why it is called pkcs5Padder is
    12  // due to the Name returning PKCS5Padding.
    13  var AESCBCPadder = Padder(aescbcPadding)
    14  
    15  type aescbcPadder struct {
    16  	padder pkcs7Padder
    17  }
    18  
    19  func (padder aescbcPadder) Pad(b []byte, n int) ([]byte, error) {
    20  	return padder.padder.Pad(b, n)
    21  }
    22  
    23  func (padder aescbcPadder) Unpad(b []byte) ([]byte, error) {
    24  	return padder.padder.Unpad(b)
    25  }
    26  
    27  func (padder aescbcPadder) Name() string {
    28  	return "PKCS5Padding"
    29  }