gitee.com/lh-her-team/common@v1.5.1/crypto/sym/util/util.go (about) 1 package util 2 3 import ( 4 "bytes" 5 "errors" 6 ) 7 8 // PKCS5Padding padding with pkcs5 9 func PKCS5Padding(ciphertext []byte, blockSize int) []byte { 10 padding := blockSize - len(ciphertext)%blockSize 11 padtext := bytes.Repeat([]byte{byte(padding)}, padding) 12 return append(ciphertext, padtext...) 13 } 14 15 // PKCS5UnPadding unpadding with pkcs5 16 func PKCS5UnPadding(origData []byte) ([]byte, error) { 17 length := len(origData) 18 unpadding := int(origData[length-1]) 19 if unpadding > length { 20 return nil, errors.New("decrypt failed,please check it") 21 } 22 return origData[:(length - unpadding)], nil 23 }