abstract class sun.security.provider.SHA2 extends sun.security.provider.DigestBase
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.security.provider.SHA2
super_class: sun.security.provider.DigestBase
{
private static final int ITERATION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 64
private static final int[] ROUND_CONSTS;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private int[] W;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] state;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private final int[] initialHashes;
descriptor: [I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: bipush 64
newarray 10
dup
iconst_0
1: ldc 1116352408
iastore
dup
iconst_1
ldc 1899447441
iastore
dup
iconst_2
ldc -1245643825
iastore
dup
iconst_3
ldc -373957723
iastore
dup
iconst_4
2: ldc 961987163
iastore
dup
iconst_5
ldc 1508970993
iastore
dup
bipush 6
ldc -1841331548
iastore
dup
bipush 7
ldc -1424204075
iastore
dup
bipush 8
3: ldc -670586216
iastore
dup
bipush 9
ldc 310598401
iastore
dup
bipush 10
ldc 607225278
iastore
dup
bipush 11
ldc 1426881987
iastore
dup
bipush 12
4: ldc 1925078388
iastore
dup
bipush 13
ldc -2132889090
iastore
dup
bipush 14
ldc -1680079193
iastore
dup
bipush 15
ldc -1046744716
iastore
dup
bipush 16
5: ldc -459576895
iastore
dup
bipush 17
ldc -272742522
iastore
dup
bipush 18
ldc 264347078
iastore
dup
bipush 19
ldc 604807628
iastore
dup
bipush 20
6: ldc 770255983
iastore
dup
bipush 21
ldc 1249150122
iastore
dup
bipush 22
ldc 1555081692
iastore
dup
bipush 23
ldc 1996064986
iastore
dup
bipush 24
7: ldc -1740746414
iastore
dup
bipush 25
ldc -1473132947
iastore
dup
bipush 26
ldc -1341970488
iastore
dup
bipush 27
ldc -1084653625
iastore
dup
bipush 28
8: ldc -958395405
iastore
dup
bipush 29
ldc -710438585
iastore
dup
bipush 30
ldc 113926993
iastore
dup
bipush 31
ldc 338241895
iastore
dup
bipush 32
9: ldc 666307205
iastore
dup
bipush 33
ldc 773529912
iastore
dup
bipush 34
ldc 1294757372
iastore
dup
bipush 35
ldc 1396182291
iastore
dup
bipush 36
10: ldc 1695183700
iastore
dup
bipush 37
ldc 1986661051
iastore
dup
bipush 38
ldc -2117940946
iastore
dup
bipush 39
ldc -1838011259
iastore
dup
bipush 40
11: ldc -1564481375
iastore
dup
bipush 41
ldc -1474664885
iastore
dup
bipush 42
ldc -1035236496
iastore
dup
bipush 43
ldc -949202525
iastore
dup
bipush 44
12: ldc -778901479
iastore
dup
bipush 45
ldc -694614492
iastore
dup
bipush 46
ldc -200395387
iastore
dup
bipush 47
ldc 275423344
iastore
dup
bipush 48
13: ldc 430227734
iastore
dup
bipush 49
ldc 506948616
iastore
dup
bipush 50
ldc 659060556
iastore
dup
bipush 51
ldc 883997877
iastore
dup
bipush 52
14: ldc 958139571
iastore
dup
bipush 53
ldc 1322822218
iastore
dup
bipush 54
ldc 1537002063
iastore
dup
bipush 55
ldc 1747873779
iastore
dup
bipush 56
15: ldc 1955562222
iastore
dup
bipush 57
ldc 2024104815
iastore
dup
bipush 58
ldc -2067236844
iastore
dup
bipush 59
ldc -1933114872
iastore
dup
bipush 60
16: ldc -1866530822
iastore
dup
bipush 61
ldc -1538233109
iastore
dup
bipush 62
ldc -1090935817
iastore
dup
bipush 63
ldc -965641998
iastore
17: putstatic sun.security.provider.SHA2.ROUND_CONSTS:[I
18: return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String, int, int[]);
descriptor: (Ljava/lang/String;I[I)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
bipush 64
invokespecial sun.security.provider.DigestBase.<init>:(Ljava/lang/String;II)V
1: aload 0
aload 3
putfield sun.security.provider.SHA2.initialHashes:[I
2: aload 0
bipush 8
newarray 10
putfield sun.security.provider.SHA2.state:[I
3: aload 0
bipush 64
newarray 10
putfield sun.security.provider.SHA2.W:[I
4: aload 0
invokevirtual sun.security.provider.SHA2.resetHashes:()V
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/provider/SHA2;
0 6 1 name Ljava/lang/String;
0 6 2 digestLength I
0 6 3 initialHashes [I
MethodParameters:
Name Flags
name
digestLength
initialHashes
void implReset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.provider.SHA2.resetHashes:()V
1: aload 0
getfield sun.security.provider.SHA2.W:[I
iconst_0
invokestatic java.util.Arrays.fill:([II)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/SHA2;
private void resetHashes();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.SHA2.initialHashes:[I
iconst_0
aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_0
aload 0
getfield sun.security.provider.SHA2.state:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/SHA2;
void implDigest(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.SHA2.bytesProcessed:J
iconst_3
lshl
lstore 3
start local 3 1: aload 0
getfield sun.security.provider.SHA2.bytesProcessed:J
l2i
bipush 63
iand
istore 5
start local 5 2: iload 5
bipush 56
if_icmpge 3
bipush 56
iload 5
isub
goto 4
StackMap locals: long int
StackMap stack:
3: bipush 120
iload 5
isub
StackMap locals:
StackMap stack: int
4: istore 6
start local 6 5: aload 0
getstatic sun.security.provider.SHA2.padding:[B
iconst_0
iload 6
invokevirtual sun.security.provider.SHA2.engineUpdate:([BII)V
6: lload 3
bipush 32
lushr
l2i
aload 0
getfield sun.security.provider.SHA2.buffer:[B
bipush 56
invokestatic sun.security.provider.ByteArrayAccess.i2bBig4:(I[BI)V
7: lload 3
l2i
aload 0
getfield sun.security.provider.SHA2.buffer:[B
bipush 60
invokestatic sun.security.provider.ByteArrayAccess.i2bBig4:(I[BI)V
8: aload 0
aload 0
getfield sun.security.provider.SHA2.buffer:[B
iconst_0
invokevirtual sun.security.provider.SHA2.implCompress:([BI)V
9: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_0
aload 1
iload 2
aload 0
invokevirtual sun.security.provider.SHA2.engineGetDigestLength:()I
invokestatic sun.security.provider.ByteArrayAccess.i2bBig:([II[BII)V
10: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/provider/SHA2;
0 11 1 out [B
0 11 2 ofs I
1 11 3 bitsProcessed J
2 11 5 index I
5 11 6 padLen I
MethodParameters:
Name Flags
out
ofs
private static int lf_ch(int, int, int);
descriptor: (III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iand
iload 0
iconst_m1
ixor
iload 2
iand
ixor
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 y I
0 1 2 z I
MethodParameters:
Name Flags
x
y
z
private static int lf_maj(int, int, int);
descriptor: (III)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 0
iload 1
iand
iload 0
iload 2
iand
ixor
iload 1
iload 2
iand
ixor
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 y I
0 1 2 z I
MethodParameters:
Name Flags
x
y
z
private static int lf_R(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
iushr
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 s I
MethodParameters:
Name Flags
x
s
private static int lf_S(int, int);
descriptor: (II)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 0
iload 1
iushr
iload 0
bipush 32
iload 1
isub
ishl
ior
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
0 1 1 s I
MethodParameters:
Name Flags
x
s
private static int lf_sigma0(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
iconst_2
invokestatic sun.security.provider.SHA2.lf_S:(II)I
iload 0
bipush 13
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
iload 0
bipush 22
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
private static int lf_sigma1(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 6
invokestatic sun.security.provider.SHA2.lf_S:(II)I
iload 0
bipush 11
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
iload 0
bipush 25
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
private static int lf_delta0(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 7
invokestatic sun.security.provider.SHA2.lf_S:(II)I
iload 0
bipush 18
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
iload 0
iconst_3
invokestatic sun.security.provider.SHA2.lf_R:(II)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
private static int lf_delta1(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
bipush 17
invokestatic sun.security.provider.SHA2.lf_S:(II)I
iload 0
bipush 19
invokestatic sun.security.provider.SHA2.lf_S:(II)I
ixor
iload 0
bipush 10
invokestatic sun.security.provider.SHA2.lf_R:(II)I
ixor
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 x I
MethodParameters:
Name Flags
x
void implCompress(byte[], int);
descriptor: ([BI)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual sun.security.provider.SHA2.implCompressCheck:([BI)V
1: aload 0
aload 1
iload 2
invokevirtual sun.security.provider.SHA2.implCompress0:([BI)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/SHA2;
0 3 1 buf [B
0 3 2 ofs I
MethodParameters:
Name Flags
buf
ofs
private void implCompressCheck(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: aload 1
iload 2
aload 0
getfield sun.security.provider.SHA2.W:[I
invokestatic sun.security.provider.ByteArrayAccess.b2iBig64:([BI[I)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/provider/SHA2;
0 3 1 buf [B
0 3 2 ofs I
MethodParameters:
Name Flags
buf
ofs
private void implCompress0(byte[], int);
descriptor: ([BI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: bipush 16
istore 3
start local 3 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.provider.SHA2.W:[I
iload 3
aload 0
getfield sun.security.provider.SHA2.W:[I
iload 3
iconst_2
isub
iaload
invokestatic sun.security.provider.SHA2.lf_delta1:(I)I
aload 0
getfield sun.security.provider.SHA2.W:[I
iload 3
bipush 7
isub
iaload
iadd
aload 0
getfield sun.security.provider.SHA2.W:[I
iload 3
bipush 15
isub
iaload
invokestatic sun.security.provider.SHA2.lf_delta0:(I)I
iadd
3: aload 0
getfield sun.security.provider.SHA2.W:[I
iload 3
bipush 16
isub
iaload
iadd
4: iastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
bipush 64
if_icmplt 2
end local 3 7: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_0
iaload
istore 3
start local 3 8: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_1
iaload
istore 4
start local 4 9: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_2
iaload
istore 5
start local 5 10: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_3
iaload
istore 6
start local 6 11: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_4
iaload
istore 7
start local 7 12: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_5
iaload
istore 8
start local 8 13: aload 0
getfield sun.security.provider.SHA2.state:[I
bipush 6
iaload
istore 9
start local 9 14: aload 0
getfield sun.security.provider.SHA2.state:[I
bipush 7
iaload
istore 10
start local 10 15: iconst_0
istore 11
start local 11 16: goto 28
17: StackMap locals: sun.security.provider.SHA2 byte[] int int int int int int int int int int
StackMap stack:
iload 10
iload 7
invokestatic sun.security.provider.SHA2.lf_sigma1:(I)I
iadd
iload 7
iload 8
iload 9
invokestatic sun.security.provider.SHA2.lf_ch:(III)I
iadd
getstatic sun.security.provider.SHA2.ROUND_CONSTS:[I
iload 11
iaload
iadd
aload 0
getfield sun.security.provider.SHA2.W:[I
iload 11
iaload
iadd
istore 12
start local 12 18: iload 3
invokestatic sun.security.provider.SHA2.lf_sigma0:(I)I
iload 3
iload 4
iload 5
invokestatic sun.security.provider.SHA2.lf_maj:(III)I
iadd
istore 13
start local 13 19: iload 9
istore 10
20: iload 8
istore 9
21: iload 7
istore 8
22: iload 6
iload 12
iadd
istore 7
23: iload 5
istore 6
24: iload 4
istore 5
25: iload 3
istore 4
26: iload 12
iload 13
iadd
istore 3
end local 13 end local 12 27: iinc 11 1
StackMap locals:
StackMap stack:
28: iload 11
bipush 64
if_icmplt 17
end local 11 29: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_0
dup2
iaload
iload 3
iadd
iastore
30: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_1
dup2
iaload
iload 4
iadd
iastore
31: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_2
dup2
iaload
iload 5
iadd
iastore
32: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_3
dup2
iaload
iload 6
iadd
iastore
33: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_4
dup2
iaload
iload 7
iadd
iastore
34: aload 0
getfield sun.security.provider.SHA2.state:[I
iconst_5
dup2
iaload
iload 8
iadd
iastore
35: aload 0
getfield sun.security.provider.SHA2.state:[I
bipush 6
dup2
iaload
iload 9
iadd
iastore
36: aload 0
getfield sun.security.provider.SHA2.state:[I
bipush 7
dup2
iaload
iload 10
iadd
iastore
37: return
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lsun/security/provider/SHA2;
0 38 1 buf [B
0 38 2 ofs I
1 7 3 t I
8 38 3 a I
9 38 4 b I
10 38 5 c I
11 38 6 d I
12 38 7 e I
13 38 8 f I
14 38 9 g I
15 38 10 h I
16 29 11 i I
18 27 12 T1 I
19 27 13 T2 I
RuntimeVisibleAnnotations:
jdk.internal.HotSpotIntrinsicCandidate()
MethodParameters:
Name Flags
buf
ofs
public java.lang.Object clone();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial sun.security.provider.DigestBase.clone:()Ljava/lang/Object;
checkcast sun.security.provider.SHA2
astore 1
start local 1 1: aload 1
aload 1
getfield sun.security.provider.SHA2.state:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield sun.security.provider.SHA2.state:[I
2: aload 1
bipush 64
newarray 10
putfield sun.security.provider.SHA2.W:[I
3: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/provider/SHA2;
1 4 1 copy Lsun/security/provider/SHA2;
Exceptions:
throws java.lang.CloneNotSupportedException
}
SourceFile: "SHA2.java"
NestMembers:
sun.security.provider.SHA2$SHA224 sun.security.provider.SHA2$SHA256
InnerClasses:
public final SHA224 = sun.security.provider.SHA2$SHA224 of sun.security.provider.SHA2
public final SHA256 = sun.security.provider.SHA2$SHA256 of sun.security.provider.SHA2