func (e *Encryption) Decrypt(data []byte) ([]byte, error) {
	length := len(data)
	if e.padding > 0 && length != e.padding {
		return nil, fmt.Errorf("data length different than padding, data length %v padding %v", length, e.padding)
	}
	out := make([]byte, length)
	err := e.transform(data, out)
	if err != nil {
		return nil, err
	}
	return out, nil
}
// Decrypt decrypts the data, if padding was used caller must know original length and truncate
Decrypt decrypts the data, if padding was used caller must know original length and truncate
// Decrypt decrypts the data if padding was used caller must know original length and truncate
func (e *Encryption) Decrypt(data []byte) ([]byte, error) {
	length := len(data)
	if e.padding > 0 && length != e.padding {
		return nil, fmt.Errorf("data length different than padding, data length %v padding %v", length, e.padding)
	}
	out := make([]byte, length)
	err := e.transform(data, out)
	if err != nil {
		return nil, err
	}
	return out, nil
}
func ( e * Encryption ) Decrypt ( data [ ] byte ) ( [ ] byte , error ) { length := len ( data ) if e . padding > 0 && length != e . padding { return nil , fmt . Errorf ( " " , length , e . padding ) } out := make ( [ ] byte , length ) err := e . transform ( data , out ) if err != nil { return nil , err } return out , nil }
Decrypt decrypts the data, if padding was used caller must know original length and truncate
Decrypt decrypts the data if padding was used caller must know original length and truncate