public void setPaddingSchemeName(String paddingSchemeName) {
        this.paddingSchemeName = paddingSchemeName;
        //clear out the transformation string so the next invocation will rebuild it with the new padding scheme:
        this.transformationString = null;
    }
Sets the padding scheme name to be used when constructing the
{@link javax.crypto.Cipher Cipher} transformation string, or {@code null} if the JCA Provider default mode for
the specified {@link #getAlgorithmName() algorithm} should be used.
<p/>
This attribute is used <em>only</em> when constructing the transformation string for block (byte array)
operations ({@link #encrypt(byte[], byte[])} and {@link #decrypt(byte[], byte[])}).  The
{@link #getStreamingPaddingSchemeName() streamingPaddingSchemeName} attribute is used when the block cipher is
used for streaming operations.
<p/>
The default value is {@code null} to retain the JCA Provider default.
<p/>
<b>NOTE:</b> most standard padding schemes are represented by the {@link PaddingScheme PaddingScheme} enum.
That enum should be used with the {@link #setPaddingScheme paddingScheme} attribute when possible to retain
type-safety and reduce the possibility of errors.  Calling this method however is suitable if the
{@code PaddingScheme} enum does not represent the desired scheme.

@param paddingSchemeName the padding scheme name to be used when constructing
                         {@link javax.crypto.Cipher Cipher} transformation string, or {@code null} if the JCA
                         Provider default padding scheme for the specified {@link #getAlgorithmName() algorithm}
                         should be used.
@see #setPaddingScheme
crypto/cipher/src/main/java/org/apache/shiro/crypto/cipher/DefaultBlockCipherService.java