class sun.security.pkcs11.P11Cipher$PKCS5Padding implements sun.security.pkcs11.P11Cipher$Padding
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.pkcs11.P11Cipher$PKCS5Padding
super_class: java.lang.Object
{
private final int blockSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 1
ifne 5
2: new javax.crypto.NoSuchPaddingException
dup
3: ldc "PKCS#5 padding not supported with stream ciphers"
4: invokespecial javax.crypto.NoSuchPaddingException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: sun.security.pkcs11.P11Cipher$PKCS5Padding int
StackMap stack:
aload 0
iload 1
putfield sun.security.pkcs11.P11Cipher$PKCS5Padding.blockSize:I
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/pkcs11/P11Cipher$PKCS5Padding;
0 7 1 blockSize I
Exceptions:
throws javax.crypto.NoSuchPaddingException
MethodParameters:
Name Flags
blockSize
public int setPaddingBytes(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
iload 2
iload 2
bipush 127
iand
i2b
invokestatic java.util.Arrays.fill:([BIIB)V
1: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs11/P11Cipher$PKCS5Padding;
0 2 1 paddingBuffer [B
0 2 2 padLen I
MethodParameters:
Name Flags
paddingBuffer
padLen
public int unpad(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: iload 2
iconst_1
if_icmplt 1
iload 2
aload 0
getfield sun.security.pkcs11.P11Cipher$PKCS5Padding.blockSize:I
irem
ifeq 4
1: StackMap locals:
StackMap stack:
new javax.crypto.IllegalBlockSizeException
dup
2: new java.lang.StringBuilder
dup
ldc "Input length must be multiples of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs11.P11Cipher$PKCS5Padding.blockSize:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial javax.crypto.IllegalBlockSizeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
iload 2
iconst_1
isub
baload
istore 3
start local 3 5: iload 3
iconst_1
if_icmplt 6
iload 3
aload 0
getfield sun.security.pkcs11.P11Cipher$PKCS5Padding.blockSize:I
if_icmple 7
6: StackMap locals: int
StackMap stack:
new javax.crypto.BadPaddingException
dup
ldc "Invalid pad value!"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
athrow
7: StackMap locals:
StackMap stack:
iload 2
iload 3
isub
istore 4
start local 4 8: iload 4
istore 5
start local 5 9: goto 13
10: StackMap locals: int int
StackMap stack:
aload 1
iload 5
baload
iload 3
if_icmpeq 12
11: new javax.crypto.BadPaddingException
dup
ldc "Invalid pad bytes!"
invokespecial javax.crypto.BadPaddingException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 2
if_icmplt 10
end local 5 14: iload 3
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/pkcs11/P11Cipher$PKCS5Padding;
0 15 1 paddedData [B
0 15 2 len I
5 15 3 padValue B
8 15 4 padStartIndex I
9 14 5 i I
Exceptions:
throws javax.crypto.BadPaddingException, javax.crypto.IllegalBlockSizeException
MethodParameters:
Name Flags
paddedData
len
}
SourceFile: "P11Cipher.java"
NestHost: sun.security.pkcs11.P11Cipher
InnerClasses:
private PKCS5Padding = sun.security.pkcs11.P11Cipher$PKCS5Padding of sun.security.pkcs11.P11Cipher
private abstract Padding = sun.security.pkcs11.P11Cipher$Padding of sun.security.pkcs11.P11Cipher