public class org.bouncycastle.crypto.digests.SHA1Digest 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.SHA1Digest
super_class: org.bouncycastle.crypto.digests.GeneralDigest
{
private static final int DIGEST_LENGTH;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 20
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[] X;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int xOff;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final int Y1;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1518500249
private static final int Y2;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1859775393
private static final int Y3;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -1894007588
private static final int Y4;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -899497514
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
0: .line 24
aload 0 /* this */
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:()V
1: .line 18
aload 0 /* this */
bipush 80
newarray 10
putfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
2: .line 26
aload 0 /* this */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.reset:()V
3: .line 27
return
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
public void <init>(org.bouncycastle.crypto.digests.SHA1Digest);
descriptor: (Lorg/bouncycastle/crypto/digests/SHA1Digest;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // org.bouncycastle.crypto.digests.SHA1Digest t
0: .line 35
aload 0 /* this */
aload 1 /* t */
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.<init>:(Lorg/bouncycastle/crypto/digests/GeneralDigest;)V
1: .line 18
aload 0 /* this */
bipush 80
newarray 10
putfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
2: .line 37
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
3: .line 38
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
4: .line 39
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
5: .line 40
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
6: .line 41
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
7: .line 43
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iconst_0
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iconst_0
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: .line 44
aload 0 /* this */
aload 1 /* t */
getfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
putfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
9: .line 45
return
end local 1 // org.bouncycastle.crypto.digests.SHA1Digest t
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
0 10 1 t Lorg/bouncycastle/crypto/digests/SHA1Digest;
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 // org.bouncycastle.crypto.digests.SHA1Digest this
0: .line 49
ldc "SHA-1"
areturn
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
public int getDigestSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
0: .line 54
bipush 20
ireturn
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
protected void processWord(byte[], int);
descriptor: ([BI)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=3
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // byte[] in
start local 2 // int inOff
0: .line 63
aload 1 /* in */
iload 2 /* inOff */
baload
bipush 24
ishl
istore 3 /* n */
start local 3 // int n
1: .line 64
iload 3 /* n */
aload 1 /* in */
iinc 2 /* inOff */ 1
iload 2 /* inOff */
baload
sipush 255
iand
bipush 16
ishl
ior
istore 3 /* n */
2: .line 65
iload 3 /* n */
aload 1 /* in */
iinc 2 /* inOff */ 1
iload 2 /* inOff */
baload
sipush 255
iand
bipush 8
ishl
ior
istore 3 /* n */
3: .line 66
iload 3 /* n */
aload 1 /* in */
iinc 2 /* inOff */ 1
iload 2 /* inOff */
baload
sipush 255
iand
ior
istore 3 /* n */
4: .line 67
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
iload 3 /* n */
iastore
5: .line 69
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
iconst_1
iadd
dup_x1
putfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
bipush 16
if_icmpne 7
6: .line 71
aload 0 /* this */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.processBlock:()V
7: .line 73
StackMap locals: int
StackMap stack:
return
end local 3 // int n
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
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 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // long bitLength
0: .line 78
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
bipush 14
if_icmple 2
1: .line 80
aload 0 /* this */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.processBlock:()V
2: .line 83
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
bipush 14
lload 1 /* bitLength */
bipush 32
lushr
l2i
iastore
3: .line 84
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
bipush 15
lload 1 /* bitLength */
ldc -1
land
l2i
iastore
4: .line 85
return
end local 1 // long bitLength
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
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 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // byte[] out
start local 2 // int outOff
0: .line 91
aload 0 /* this */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.finish:()V
1: .line 93
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
aload 1 /* out */
iload 2 /* outOff */
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
2: .line 94
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
aload 1 /* out */
iload 2 /* outOff */
iconst_4
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
3: .line 95
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
aload 1 /* out */
iload 2 /* outOff */
bipush 8
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
4: .line 96
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
aload 1 /* out */
iload 2 /* outOff */
bipush 12
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
5: .line 97
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
aload 1 /* out */
iload 2 /* outOff */
bipush 16
iadd
invokestatic org.bouncycastle.crypto.util.Pack.intToBigEndian:(I[BI)V
6: .line 99
aload 0 /* this */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.reset:()V
7: .line 101
bipush 20
ireturn
end local 2 // int outOff
end local 1 // byte[] out
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
0 8 1 out [B
0 8 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 // org.bouncycastle.crypto.digests.SHA1Digest this
0: .line 109
aload 0 /* this */
invokespecial org.bouncycastle.crypto.digests.GeneralDigest.reset:()V
1: .line 111
aload 0 /* this */
ldc 1732584193
putfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
2: .line 112
aload 0 /* this */
ldc -271733879
putfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
3: .line 113
aload 0 /* this */
ldc -1732584194
putfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
4: .line 114
aload 0 /* this */
ldc 271733878
putfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
5: .line 115
aload 0 /* this */
ldc -1009589776
putfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
6: .line 117
aload 0 /* this */
iconst_0
putfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
7: .line 118
iconst_0
istore 1 /* i */
start local 1 // int i
8: goto 11
9: .line 120
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
iconst_0
iastore
10: .line 118
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 1 /* i */
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
arraylength
if_icmpne 9
end local 1 // int i
12: .line 122
return
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
8 12 1 i I
private int f(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // int u
start local 2 // int v
start local 3 // int w
0: .line 137
iload 1 /* u */
iload 2 /* v */
iand
iload 1 /* u */
iconst_m1
ixor
iload 3 /* w */
iand
ior
ireturn
end local 3 // int w
end local 2 // int v
end local 1 // int u
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
private int h(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // int u
start local 2 // int v
start local 3 // int w
0: .line 145
iload 1 /* u */
iload 2 /* v */
ixor
iload 3 /* w */
ixor
ireturn
end local 3 // int w
end local 2 // int v
end local 1 // int u
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
private int g(int, int, int);
descriptor: (III)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=4
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
start local 1 // int u
start local 2 // int v
start local 3 // int w
0: .line 153
iload 1 /* u */
iload 2 /* v */
iand
iload 1 /* u */
iload 3 /* w */
iand
ior
iload 2 /* v */
iload 3 /* w */
iand
ior
ireturn
end local 3 // int w
end local 2 // int v
end local 1 // int u
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
0 1 1 u I
0 1 2 v I
0 1 3 w I
MethodParameters:
Name Flags
u
v
w
protected void processBlock();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=1
start local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
0: .line 161
bipush 16
istore 1 /* i */
start local 1 // int i
1: goto 5
2: .line 163
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
iconst_3
isub
iaload
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
bipush 8
isub
iaload
ixor
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
bipush 14
isub
iaload
ixor
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
bipush 16
isub
iaload
ixor
istore 2 /* t */
start local 2 // int t
3: .line 164
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 1 /* i */
iload 2 /* t */
iconst_1
ishl
iload 2 /* t */
bipush 31
iushr
ior
iastore
end local 2 // int t
4: .line 161
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* i */
bipush 80
if_icmplt 2
end local 1 // int i
6: .line 170
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
istore 1 /* A */
start local 1 // int A
7: .line 171
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
istore 2 /* B */
start local 2 // int B
8: .line 172
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
istore 3 /* C */
start local 3 // int C
9: .line 173
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
istore 4 /* D */
start local 4 // int D
10: .line 174
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
istore 5 /* E */
start local 5 // int E
11: .line 179
iconst_0
istore 6 /* idx */
start local 6 // int idx
12: .line 181
iconst_0
istore 7 /* j */
start local 7 // int j
13: goto 25
14: .line 185
StackMap locals: org.bouncycastle.crypto.digests.SHA1Digest int int int int int int int
StackMap stack:
iload 5 /* E */
iload 1 /* A */
iconst_5
ishl
iload 1 /* A */
bipush 27
iushr
ior
aload 0 /* this */
iload 2 /* B */
iload 3 /* C */
iload 4 /* D */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.f:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1518500249
iadd
iadd
istore 5 /* E */
15: .line 186
iload 2 /* B */
bipush 30
ishl
iload 2 /* B */
iconst_2
iushr
ior
istore 2 /* B */
16: .line 188
iload 4 /* D */
iload 5 /* E */
iconst_5
ishl
iload 5 /* E */
bipush 27
iushr
ior
aload 0 /* this */
iload 1 /* A */
iload 2 /* B */
iload 3 /* C */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.f:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1518500249
iadd
iadd
istore 4 /* D */
17: .line 189
iload 1 /* A */
bipush 30
ishl
iload 1 /* A */
iconst_2
iushr
ior
istore 1 /* A */
18: .line 191
iload 3 /* C */
iload 4 /* D */
iconst_5
ishl
iload 4 /* D */
bipush 27
iushr
ior
aload 0 /* this */
iload 5 /* E */
iload 1 /* A */
iload 2 /* B */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.f:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1518500249
iadd
iadd
istore 3 /* C */
19: .line 192
iload 5 /* E */
bipush 30
ishl
iload 5 /* E */
iconst_2
iushr
ior
istore 5 /* E */
20: .line 194
iload 2 /* B */
iload 3 /* C */
iconst_5
ishl
iload 3 /* C */
bipush 27
iushr
ior
aload 0 /* this */
iload 4 /* D */
iload 5 /* E */
iload 1 /* A */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.f:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1518500249
iadd
iadd
istore 2 /* B */
21: .line 195
iload 4 /* D */
bipush 30
ishl
iload 4 /* D */
iconst_2
iushr
ior
istore 4 /* D */
22: .line 197
iload 1 /* A */
iload 2 /* B */
iconst_5
ishl
iload 2 /* B */
bipush 27
iushr
ior
aload 0 /* this */
iload 3 /* C */
iload 4 /* D */
iload 5 /* E */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.f:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1518500249
iadd
iadd
istore 1 /* A */
23: .line 198
iload 3 /* C */
bipush 30
ishl
iload 3 /* C */
iconst_2
iushr
ior
istore 3 /* C */
24: .line 181
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
25: iload 7 /* j */
iconst_4
if_icmplt 14
end local 7 // int j
26: .line 204
iconst_0
istore 7 /* j */
start local 7 // int j
27: goto 39
28: .line 208
StackMap locals:
StackMap stack:
iload 5 /* E */
iload 1 /* A */
iconst_5
ishl
iload 1 /* A */
bipush 27
iushr
ior
aload 0 /* this */
iload 2 /* B */
iload 3 /* C */
iload 4 /* D */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1859775393
iadd
iadd
istore 5 /* E */
29: .line 209
iload 2 /* B */
bipush 30
ishl
iload 2 /* B */
iconst_2
iushr
ior
istore 2 /* B */
30: .line 211
iload 4 /* D */
iload 5 /* E */
iconst_5
ishl
iload 5 /* E */
bipush 27
iushr
ior
aload 0 /* this */
iload 1 /* A */
iload 2 /* B */
iload 3 /* C */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1859775393
iadd
iadd
istore 4 /* D */
31: .line 212
iload 1 /* A */
bipush 30
ishl
iload 1 /* A */
iconst_2
iushr
ior
istore 1 /* A */
32: .line 214
iload 3 /* C */
iload 4 /* D */
iconst_5
ishl
iload 4 /* D */
bipush 27
iushr
ior
aload 0 /* this */
iload 5 /* E */
iload 1 /* A */
iload 2 /* B */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1859775393
iadd
iadd
istore 3 /* C */
33: .line 215
iload 5 /* E */
bipush 30
ishl
iload 5 /* E */
iconst_2
iushr
ior
istore 5 /* E */
34: .line 217
iload 2 /* B */
iload 3 /* C */
iconst_5
ishl
iload 3 /* C */
bipush 27
iushr
ior
aload 0 /* this */
iload 4 /* D */
iload 5 /* E */
iload 1 /* A */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1859775393
iadd
iadd
istore 2 /* B */
35: .line 218
iload 4 /* D */
bipush 30
ishl
iload 4 /* D */
iconst_2
iushr
ior
istore 4 /* D */
36: .line 220
iload 1 /* A */
iload 2 /* B */
iconst_5
ishl
iload 2 /* B */
bipush 27
iushr
ior
aload 0 /* this */
iload 3 /* C */
iload 4 /* D */
iload 5 /* E */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc 1859775393
iadd
iadd
istore 1 /* A */
37: .line 221
iload 3 /* C */
bipush 30
ishl
iload 3 /* C */
iconst_2
iushr
ior
istore 3 /* C */
38: .line 204
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
39: iload 7 /* j */
iconst_4
if_icmplt 28
end local 7 // int j
40: .line 227
iconst_0
istore 7 /* j */
start local 7 // int j
41: goto 53
42: .line 231
StackMap locals:
StackMap stack:
iload 5 /* E */
iload 1 /* A */
iconst_5
ishl
iload 1 /* A */
bipush 27
iushr
ior
aload 0 /* this */
iload 2 /* B */
iload 3 /* C */
iload 4 /* D */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.g:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -1894007588
iadd
iadd
istore 5 /* E */
43: .line 232
iload 2 /* B */
bipush 30
ishl
iload 2 /* B */
iconst_2
iushr
ior
istore 2 /* B */
44: .line 234
iload 4 /* D */
iload 5 /* E */
iconst_5
ishl
iload 5 /* E */
bipush 27
iushr
ior
aload 0 /* this */
iload 1 /* A */
iload 2 /* B */
iload 3 /* C */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.g:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -1894007588
iadd
iadd
istore 4 /* D */
45: .line 235
iload 1 /* A */
bipush 30
ishl
iload 1 /* A */
iconst_2
iushr
ior
istore 1 /* A */
46: .line 237
iload 3 /* C */
iload 4 /* D */
iconst_5
ishl
iload 4 /* D */
bipush 27
iushr
ior
aload 0 /* this */
iload 5 /* E */
iload 1 /* A */
iload 2 /* B */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.g:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -1894007588
iadd
iadd
istore 3 /* C */
47: .line 238
iload 5 /* E */
bipush 30
ishl
iload 5 /* E */
iconst_2
iushr
ior
istore 5 /* E */
48: .line 240
iload 2 /* B */
iload 3 /* C */
iconst_5
ishl
iload 3 /* C */
bipush 27
iushr
ior
aload 0 /* this */
iload 4 /* D */
iload 5 /* E */
iload 1 /* A */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.g:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -1894007588
iadd
iadd
istore 2 /* B */
49: .line 241
iload 4 /* D */
bipush 30
ishl
iload 4 /* D */
iconst_2
iushr
ior
istore 4 /* D */
50: .line 243
iload 1 /* A */
iload 2 /* B */
iconst_5
ishl
iload 2 /* B */
bipush 27
iushr
ior
aload 0 /* this */
iload 3 /* C */
iload 4 /* D */
iload 5 /* E */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.g:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -1894007588
iadd
iadd
istore 1 /* A */
51: .line 244
iload 3 /* C */
bipush 30
ishl
iload 3 /* C */
iconst_2
iushr
ior
istore 3 /* C */
52: .line 227
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
53: iload 7 /* j */
iconst_4
if_icmplt 42
end local 7 // int j
54: .line 250
iconst_0
istore 7 /* j */
start local 7 // int j
55: goto 67
56: .line 254
StackMap locals:
StackMap stack:
iload 5 /* E */
iload 1 /* A */
iconst_5
ishl
iload 1 /* A */
bipush 27
iushr
ior
aload 0 /* this */
iload 2 /* B */
iload 3 /* C */
iload 4 /* D */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -899497514
iadd
iadd
istore 5 /* E */
57: .line 255
iload 2 /* B */
bipush 30
ishl
iload 2 /* B */
iconst_2
iushr
ior
istore 2 /* B */
58: .line 257
iload 4 /* D */
iload 5 /* E */
iconst_5
ishl
iload 5 /* E */
bipush 27
iushr
ior
aload 0 /* this */
iload 1 /* A */
iload 2 /* B */
iload 3 /* C */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -899497514
iadd
iadd
istore 4 /* D */
59: .line 258
iload 1 /* A */
bipush 30
ishl
iload 1 /* A */
iconst_2
iushr
ior
istore 1 /* A */
60: .line 260
iload 3 /* C */
iload 4 /* D */
iconst_5
ishl
iload 4 /* D */
bipush 27
iushr
ior
aload 0 /* this */
iload 5 /* E */
iload 1 /* A */
iload 2 /* B */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -899497514
iadd
iadd
istore 3 /* C */
61: .line 261
iload 5 /* E */
bipush 30
ishl
iload 5 /* E */
iconst_2
iushr
ior
istore 5 /* E */
62: .line 263
iload 2 /* B */
iload 3 /* C */
iconst_5
ishl
iload 3 /* C */
bipush 27
iushr
ior
aload 0 /* this */
iload 4 /* D */
iload 5 /* E */
iload 1 /* A */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -899497514
iadd
iadd
istore 2 /* B */
63: .line 264
iload 4 /* D */
bipush 30
ishl
iload 4 /* D */
iconst_2
iushr
ior
istore 4 /* D */
64: .line 266
iload 1 /* A */
iload 2 /* B */
iconst_5
ishl
iload 2 /* B */
bipush 27
iushr
ior
aload 0 /* this */
iload 3 /* C */
iload 4 /* D */
iload 5 /* E */
invokevirtual org.bouncycastle.crypto.digests.SHA1Digest.h:(III)I
iadd
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 6 /* idx */
iinc 6 /* idx */ 1
iaload
iadd
ldc -899497514
iadd
iadd
istore 1 /* A */
65: .line 267
iload 3 /* C */
bipush 30
ishl
iload 3 /* C */
iconst_2
iushr
ior
istore 3 /* C */
66: .line 250
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
67: iload 7 /* j */
iconst_3
if_icmple 56
end local 7 // int j
68: .line 271
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
iload 1 /* A */
iadd
putfield org.bouncycastle.crypto.digests.SHA1Digest.H1:I
69: .line 272
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
iload 2 /* B */
iadd
putfield org.bouncycastle.crypto.digests.SHA1Digest.H2:I
70: .line 273
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
iload 3 /* C */
iadd
putfield org.bouncycastle.crypto.digests.SHA1Digest.H3:I
71: .line 274
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
iload 4 /* D */
iadd
putfield org.bouncycastle.crypto.digests.SHA1Digest.H4:I
72: .line 275
aload 0 /* this */
dup
getfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
iload 5 /* E */
iadd
putfield org.bouncycastle.crypto.digests.SHA1Digest.H5:I
73: .line 280
aload 0 /* this */
iconst_0
putfield org.bouncycastle.crypto.digests.SHA1Digest.xOff:I
74: .line 281
iconst_0
istore 7 /* i */
start local 7 // int i
75: goto 78
76: .line 283
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.crypto.digests.SHA1Digest.X:[I
iload 7 /* i */
iconst_0
iastore
77: .line 281
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
78: iload 7 /* i */
bipush 16
if_icmplt 76
end local 7 // int i
79: .line 285
return
end local 6 // int idx
end local 5 // int E
end local 4 // int D
end local 3 // int C
end local 2 // int B
end local 1 // int A
end local 0 // org.bouncycastle.crypto.digests.SHA1Digest this
LocalVariableTable:
Start End Slot Name Signature
0 80 0 this Lorg/bouncycastle/crypto/digests/SHA1Digest;
1 6 1 i I
3 4 2 t I
7 80 1 A I
8 80 2 B I
9 80 3 C I
10 80 4 D I
11 80 5 E I
12 80 6 idx I
13 26 7 j I
27 40 7 j I
41 54 7 j I
55 68 7 j I
75 79 7 i I
}
SourceFile: "SHA1Digest.java"