public class org.bouncycastle.crypto.digests.SHA256Digest extends org.bouncycastle.crypto.digests.GeneralDigest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.crypto.digests.SHA256Digest
super_class: org.bouncycastle.crypto.digests.GeneralDigest
{
private static final int DIGEST_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 32
private int H1;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H2;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H3;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H4;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H5;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H6;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H7;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int H8;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] X;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int xOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
static final int[] K;
descriptor: [I
flags: (0x0018) ACC_STATIC, 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
ldc 961987163
iastore
dup
iconst_5
ldc 1508970993
iastore
dup
bipush 6
ldc -1841331548
iastore
dup
bipush 7
ldc -1424204075
iastore
dup
bipush 8
2: ldc -670586216
iastore
dup
bipush 9
ldc 310598401
iastore
dup
bipush 10
ldc 607225278
iastore
dup
bipush 11
ldc 1426881987
iastore
dup
bipush 12
ldc 1925078388
iastore
dup
bipush 13
ldc -2132889090
iastore
dup
bipush 14
ldc -1680079193
iastore
dup
bipush 15
ldc -1046744716
iastore
dup
bipush 16
3: ldc -459576895
iastore
dup
bipush 17
ldc -272742522
iastore
dup
bipush 18
ldc 264347078
iastore
dup
bipush 19
ldc 604807628
iastore
dup
bipush 20
ldc 770255983
iastore
dup
bipush 21
ldc 1249150122
iastore
dup
bipush 22
ldc 1555081692
iastore
dup
bipush 23
ldc 1996064986
iastore
dup
bipush 24
4: ldc -1740746414
iastore
dup
bipush 25
ldc -1473132947
iastore
dup
bipush 26
ldc -1341970488
iastore
dup
bipush 27
ldc -1084653625
iastore
dup
bipush 28
ldc -958395405
iastore
dup
bipush 29
ldc -710438585
iastore
dup
bipush 30
ldc 113926993
iastore
dup
bipush 31
ldc 338241895
iastore
dup
bipush 32
5: ldc 666307205
iastore
dup
bipush 33
ldc 773529912
iastore
dup
bipush 34
ldc 1294757372
iastore
dup
bipush 35
ldc 1396182291
iastore
dup
bipush 36
ldc 1695183700
iastore
dup
bipush 37
ldc 1986661051
iastore
dup
bipush 38
ldc -2117940946
iastore
dup
bipush 39
ldc -1838011259
iastore
dup
bipush 40
6: ldc -1564481375
iastore
dup
bipush 41
ldc -1474664885
iastore
dup
bipush 42
ldc -1035236496
iastore
dup
bipush 43
ldc -949202525
iastore
dup
bipush 44
ldc -778901479
iastore
dup
bipush 45
ldc -694614492
iastore
dup
bipush 46
ldc -200395387
iastore
dup
bipush 47
ldc 275423344
iastore
dup
bipush 48
7: ldc 430227734
iastore
dup
bipush 49
ldc 506948616
iastore
dup
bipush 50
ldc 659060556
iastore
dup
bipush 51
ldc 883997877
iastore
dup
bipush 52
ldc 958139571
iastore
dup
bipush 53
ldc 1322822218
iastore
dup
bipush 54
ldc 1537002063
iastore
dup
bipush 55
ldc 1747873779
iastore
dup
bipush 56
8: ldc 1955562222
iastore
dup
bipush 57
ldc 2024104815
iastore
dup
bipush 58
ldc -2067236844
iastore
dup
bipush 59
ldc -1933114872
iastore
dup
bipush 60
ldc -1866530822
iastore
dup
bipush 61
ldc -1538233109
iastore
dup
bipush 62
ldc -1090935817
iastore
dup
bipush 63
ldc -965641998
iastore
9: putstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
10: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:()V
1: aload 0
bipush 64
newarray 10
putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
2: aload 0
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
public void <init>(org.bouncycastle.crypto.digests.SHA256Digest);
descriptor: (Lorg/bouncycastle/crypto/digests/SHA256Digest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
1: aload 0
bipush 64
newarray 10
putfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
2: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
3: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
4: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
5: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
6: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
7: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
8: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
9: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
10: aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iconst_0
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iconst_0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
aload 1
getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
12: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 13 1 t Lorg/bouncycastle/crypto/digests/SHA256Digest;
MethodParameters:
Name Flags
t
public java.lang.String getAlgorithmName();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "SHA-256"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
public int getDigestSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: bipush 32
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
protected void processWord(byte[], int);
descriptor: ([BI)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
baload
bipush 24
ishl
istore 3
start local 3 1: iload 3
aload 1
iinc 2 1
iload 2
baload
sipush 255
iand
bipush 16
ishl
ior
istore 3
2: iload 3
aload 1
iinc 2 1
iload 2
baload
sipush 255
iand
bipush 8
ishl
ior
istore 3
3: iload 3
aload 1
iinc 2 1
iload 2
baload
sipush 255
iand
ior
istore 3
4: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
iload 3
iastore
5: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
iconst_1
iadd
dup_x1
putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
bipush 16
if_icmpne 7
6: aload 0
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
7: StackMap locals: int
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 8 1 in [B
0 8 2 inOff I
1 8 3 n I
MethodParameters:
Name Flags
in
inOff
protected void processLength(long);
descriptor: (J)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
bipush 14
if_icmple 2
1: aload 0
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.processBlock:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
bipush 14
lload 1
bipush 32
lushr
l2i
iastore
3: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
bipush 15
lload 1
ldc -1
land
l2i
iastore
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 5 1 bitLength J
MethodParameters:
Name Flags
bitLength
public int doFinal(byte[], int);
descriptor: ([BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.finish:()V
1: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
aload 1
iload 2
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
2: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
aload 1
iload 2
iconst_4
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
3: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
aload 1
iload 2
bipush 8
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
4: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
aload 1
iload 2
bipush 12
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
5: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
aload 1
iload 2
bipush 16
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
6: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
aload 1
iload 2
bipush 20
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
7: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
aload 1
iload 2
bipush 24
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
8: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
aload 1
iload 2
bipush 28
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
9: aload 0
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.reset:()V
10: bipush 32
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 11 1 out [B
0 11 2 outOff I
MethodParameters:
Name Flags
out
outOff
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.reset:()V
1: aload 0
ldc 1779033703
putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
2: aload 0
ldc -1150833019
putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
3: aload 0
ldc 1013904242
putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
4: aload 0
ldc -1521486534
putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
5: aload 0
ldc 1359893119
putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
6: aload 0
ldc -1694144372
putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
7: aload 0
ldc 528734635
putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
8: aload 0
ldc 1541459225
putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
9: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
10: iconst_0
istore 1
start local 1 11: goto 14
12: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
iconst_0
iastore
13: iinc 1 1
StackMap locals:
StackMap stack:
14: iload 1
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
arraylength
if_icmpne 12
end local 1 15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
11 15 1 i I
protected void processBlock();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=11, args_size=1
start local 0 0: bipush 16
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
iconst_2
isub
iaload
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Theta1:(I)I
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
bipush 7
isub
iaload
iadd
aload 0
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
bipush 15
isub
iaload
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Theta0:(I)I
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 1
bipush 16
isub
iaload
iadd
iastore
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
bipush 63
if_icmple 2
end local 1 5: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
istore 1
start local 1 6: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
istore 2
start local 2 7: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
istore 3
start local 3 8: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
istore 4
start local 4 9: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
istore 5
start local 5 10: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
istore 6
start local 6 11: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
istore 7
start local 7 12: aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
istore 8
start local 8 13: iconst_0
istore 9
start local 9 14: iconst_0
istore 10
start local 10 15: goto 49
16: StackMap locals: org.bouncycastle.crypto.digests.SHA256Digest int int int int int int int int int int
StackMap stack:
iload 8
aload 0
iload 5
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 5
iload 6
iload 7
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 8
17: iload 4
iload 8
iadd
istore 4
18: iload 8
aload 0
iload 1
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 8
19: iinc 9 1
20: iload 7
aload 0
iload 4
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 4
iload 5
iload 6
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 7
21: iload 3
iload 7
iadd
istore 3
22: iload 7
aload 0
iload 8
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 8
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 7
23: iinc 9 1
24: iload 6
aload 0
iload 3
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 3
iload 4
iload 5
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 6
25: iload 2
iload 6
iadd
istore 2
26: iload 6
aload 0
iload 7
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 7
iload 8
iload 1
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 6
27: iinc 9 1
28: iload 5
aload 0
iload 2
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 5
29: iload 1
iload 5
iadd
istore 1
30: iload 5
aload 0
iload 6
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 6
iload 7
iload 8
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 5
31: iinc 9 1
32: iload 4
aload 0
iload 1
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 1
iload 2
iload 3
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 4
33: iload 8
iload 4
iadd
istore 8
34: iload 4
aload 0
iload 5
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 5
iload 6
iload 7
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 4
35: iinc 9 1
36: iload 3
aload 0
iload 8
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 8
iload 1
iload 2
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 3
37: iload 7
iload 3
iadd
istore 7
38: iload 3
aload 0
iload 4
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 4
iload 5
iload 6
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 3
39: iinc 9 1
40: iload 2
aload 0
iload 7
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 7
iload 8
iload 1
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 2
41: iload 6
iload 2
iadd
istore 6
42: iload 2
aload 0
iload 3
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 3
iload 4
iload 5
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 2
43: iinc 9 1
44: iload 1
aload 0
iload 6
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum1:(I)I
aload 0
iload 6
iload 7
iload 8
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Ch:(III)I
iadd
getstatic org.bouncycastle.crypto.digests.SHA256Digest.K:[I
iload 9
iaload
iadd
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 9
iaload
iadd
iadd
istore 1
45: iload 5
iload 1
iadd
istore 5
46: iload 1
aload 0
iload 2
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Sum0:(I)I
aload 0
iload 2
iload 3
iload 4
invokevirtual org.bouncycastle.crypto.digests.SHA256Digest.Maj:(III)I
iadd
iadd
istore 1
47: iinc 9 1
48: iinc 10 1
StackMap locals:
StackMap stack:
49: iload 10
bipush 8
if_icmplt 16
end local 10 50: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
iload 1
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H1:I
51: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
iload 2
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H2:I
52: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
iload 3
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H3:I
53: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
iload 4
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H4:I
54: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
iload 5
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H5:I
55: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
iload 6
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H6:I
56: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
iload 7
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H7:I
57: aload 0
dup
getfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
iload 8
iadd
putfield org.bouncycastle.crypto.digests.SHA256Digest.H8:I
58: aload 0
iconst_0
putfield org.bouncycastle.crypto.digests.SHA256Digest.xOff:I
59: iconst_0
istore 10
start local 10 60: goto 63
61: StackMap locals:
StackMap stack:
aload 0
getfield org.bouncycastle.crypto.digests.SHA256Digest.X:[I
iload 10
iconst_0
iastore
62: iinc 10 1
StackMap locals:
StackMap stack:
63: iload 10
bipush 16
if_icmplt 61
end local 10 64: return
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 65 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
1 5 1 t I
6 65 1 a I
7 65 2 b I
8 65 3 c I
9 65 4 d I
10 65 5 e I
11 65 6 f I
12 65 7 g I
13 65 8 h I
14 65 9 t I
15 50 10 i I
60 64 10 i I
private int Ch(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
iand
iload 1
iconst_m1
ixor
iload 3
iand
ixor
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
0 1 2 y I
0 1 3 z I
MethodParameters:
Name Flags
x
y
z
private int Maj(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 1
iload 2
iand
iload 1
iload 3
iand
ixor
iload 2
iload 3
iand
ixor
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
0 1 2 y I
0 1 3 z I
MethodParameters:
Name Flags
x
y
z
private int Sum0(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
iconst_2
iushr
iload 1
bipush 30
ishl
ior
iload 1
bipush 13
iushr
iload 1
bipush 19
ishl
ior
ixor
iload 1
bipush 22
iushr
iload 1
bipush 10
ishl
ior
ixor
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
MethodParameters:
Name Flags
x
private int Sum1(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 6
iushr
iload 1
bipush 26
ishl
ior
iload 1
bipush 11
iushr
iload 1
bipush 21
ishl
ior
ixor
iload 1
bipush 25
iushr
iload 1
bipush 7
ishl
ior
ixor
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
MethodParameters:
Name Flags
x
private int Theta0(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 7
iushr
iload 1
bipush 25
ishl
ior
iload 1
bipush 18
iushr
iload 1
bipush 14
ishl
ior
ixor
iload 1
iconst_3
iushr
ixor
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
MethodParameters:
Name Flags
x
private int Theta1(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: iload 1
bipush 17
iushr
iload 1
bipush 15
ishl
ior
iload 1
bipush 19
iushr
iload 1
bipush 13
ishl
ior
ixor
iload 1
bipush 10
iushr
ixor
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA256Digest;
0 1 1 x I
MethodParameters:
Name Flags
x
}
SourceFile: "SHA256Digest.java"