public class org.springframework.security.crypto.bcrypt.BCrypt
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.springframework.security.crypto.bcrypt.BCrypt
super_class: java.lang.Object
{
private static final int GENSALT_DEFAULT_LOG2_ROUNDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 10
private static final int BCRYPT_SALT_LEN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int BLOWFISH_NUM_ROUNDS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 16
private static final int[] P_orig;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] S_orig;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] bf_crypt_ciphertext;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] base64_code;
descriptor: [C
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] index_64;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static final int MIN_LOG_ROUNDS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 4
static final int MAX_LOG_ROUNDS;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 31
private int[] P;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int[] S;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 73
bipush 18
newarray 10
dup
iconst_0
ldc 608135816
iastore
dup
iconst_1
ldc -2052912941
iastore
dup
iconst_2
ldc 320440878
iastore
dup
iconst_3
ldc 57701188
iastore
dup
iconst_4
ldc -1542899678
iastore
dup
iconst_5
ldc 698298832
iastore
dup
bipush 6
1: .line 74
ldc 137296536
iastore
dup
bipush 7
ldc -330404727
iastore
dup
bipush 8
ldc 1160258022
iastore
dup
bipush 9
ldc 953160567
iastore
dup
bipush 10
ldc -1101764913
iastore
dup
bipush 11
ldc 887688300
iastore
dup
bipush 12
ldc -1062458953
iastore
dup
bipush 13
ldc -914599715
iastore
dup
bipush 14
ldc 1065670069
iastore
dup
bipush 15
2: .line 75
ldc -1253635817
iastore
dup
bipush 16
ldc -1843997223
iastore
dup
bipush 17
ldc -1988494565
iastore
3: .line 73
putstatic org.springframework.security.crypto.bcrypt.BCrypt.P_orig:[I
4: .line 77
sipush 1024
newarray 10
dup
iconst_0
ldc -785314906
iastore
dup
iconst_1
ldc -1730169428
iastore
dup
iconst_2
ldc 805139163
iastore
dup
iconst_3
ldc -803545161
iastore
dup
iconst_4
ldc -1193168915
iastore
dup
iconst_5
ldc 1780907670
iastore
dup
bipush 6
5: .line 78
ldc -1166241723
iastore
dup
bipush 7
ldc -248741991
iastore
dup
bipush 8
ldc 614570311
iastore
dup
bipush 9
ldc -1282315017
iastore
dup
bipush 10
ldc 134345442
iastore
dup
bipush 11
ldc -2054226922
iastore
dup
bipush 12
ldc 1667834072
iastore
dup
bipush 13
ldc 1901547113
iastore
dup
bipush 14
ldc -1537671517
iastore
dup
bipush 15
6: .line 79
ldc -191677058
iastore
dup
bipush 16
ldc 227898511
iastore
dup
bipush 17
ldc 1921955416
iastore
dup
bipush 18
ldc 1904987480
iastore
dup
bipush 19
ldc -2112533778
iastore
dup
bipush 20
ldc 2069144605
iastore
dup
bipush 21
ldc -1034266187
iastore
dup
bipush 22
ldc -1674521287
iastore
dup
bipush 23
ldc 720527379
iastore
dup
bipush 24
7: .line 80
ldc -976113629
iastore
dup
bipush 25
ldc 677414384
iastore
dup
bipush 26
ldc -901678824
iastore
dup
bipush 27
ldc -1193592593
iastore
dup
bipush 28
ldc -1904616272
iastore
dup
bipush 29
ldc 1614419982
iastore
dup
bipush 30
ldc 1822297739
iastore
dup
bipush 31
ldc -1340175810
iastore
dup
bipush 32
ldc -686458943
iastore
dup
bipush 33
8: .line 81
ldc -1120842969
iastore
dup
bipush 34
ldc 2024746970
iastore
dup
bipush 35
ldc 1432378464
iastore
dup
bipush 36
ldc -430627341
iastore
dup
bipush 37
ldc -1437226092
iastore
dup
bipush 38
ldc 1464375394
iastore
dup
bipush 39
ldc 1676153920
iastore
dup
bipush 40
ldc 1439316330
iastore
dup
bipush 41
ldc 715854006
iastore
dup
bipush 42
9: .line 82
ldc -1261675468
iastore
dup
bipush 43
ldc 289532110
iastore
dup
bipush 44
ldc -1588296017
iastore
dup
bipush 45
ldc 2087905683
iastore
dup
bipush 46
ldc -1276242927
iastore
dup
bipush 47
ldc 1668267050
iastore
dup
bipush 48
ldc 732546397
iastore
dup
bipush 49
ldc 1947742710
iastore
dup
bipush 50
ldc -832815594
iastore
dup
bipush 51
10: .line 83
ldc -1685613794
iastore
dup
bipush 52
ldc -1344882125
iastore
dup
bipush 53
ldc 1814351708
iastore
dup
bipush 54
ldc 2050118529
iastore
dup
bipush 55
ldc 680887927
iastore
dup
bipush 56
ldc 999245976
iastore
dup
bipush 57
ldc 1800124847
iastore
dup
bipush 58
ldc -994056165
iastore
dup
bipush 59
ldc 1713906067
iastore
dup
bipush 60
11: .line 84
ldc 1641548236
iastore
dup
bipush 61
ldc -81679983
iastore
dup
bipush 62
ldc 1216130144
iastore
dup
bipush 63
ldc 1575780402
iastore
dup
bipush 64
ldc -276538019
iastore
dup
bipush 65
ldc -377129551
iastore
dup
bipush 66
ldc -601480446
iastore
dup
bipush 67
ldc -345695352
iastore
dup
bipush 68
ldc 596196993
iastore
dup
bipush 69
12: .line 85
ldc -745100091
iastore
dup
bipush 70
ldc 258830323
iastore
dup
bipush 71
ldc -2081144263
iastore
dup
bipush 72
ldc 772490370
iastore
dup
bipush 73
ldc -1534844924
iastore
dup
bipush 74
ldc 1774776394
iastore
dup
bipush 75
ldc -1642095778
iastore
dup
bipush 76
ldc 566650946
iastore
dup
bipush 77
ldc -152474470
iastore
dup
bipush 78
13: .line 86
ldc 1728879713
iastore
dup
bipush 79
ldc -1412200208
iastore
dup
bipush 80
ldc 1783734482
iastore
dup
bipush 81
ldc -665571480
iastore
dup
bipush 82
ldc -1777359064
iastore
dup
bipush 83
ldc -1420741725
iastore
dup
bipush 84
ldc 1861159788
iastore
dup
bipush 85
ldc 326777828
iastore
dup
bipush 86
ldc -1170476976
iastore
dup
bipush 87
14: .line 87
ldc 2130389656
iastore
dup
bipush 88
ldc -1578015459
iastore
dup
bipush 89
ldc 967770486
iastore
dup
bipush 90
ldc 1724537150
iastore
dup
bipush 91
ldc -2109534584
iastore
dup
bipush 92
ldc -1930525159
iastore
dup
bipush 93
ldc 1164943284
iastore
dup
bipush 94
ldc 2105845187
iastore
dup
bipush 95
ldc 998989502
iastore
dup
bipush 96
15: .line 88
ldc -529566248
iastore
dup
bipush 97
ldc -2050940813
iastore
dup
bipush 98
ldc 1075463327
iastore
dup
bipush 99
ldc 1455516326
iastore
dup
bipush 100
ldc 1322494562
iastore
dup
bipush 101
ldc 910128902
iastore
dup
bipush 102
ldc 469688178
iastore
dup
bipush 103
ldc 1117454909
iastore
dup
bipush 104
ldc 936433444
iastore
dup
bipush 105
16: .line 89
ldc -804646328
iastore
dup
bipush 106
ldc -619713837
iastore
dup
bipush 107
ldc 1240580251
iastore
dup
bipush 108
ldc 122909385
iastore
dup
bipush 109
ldc -2137449605
iastore
dup
bipush 110
ldc 634681816
iastore
dup
bipush 111
ldc -152510729
iastore
dup
bipush 112
ldc -469872614
iastore
dup
bipush 113
ldc -1233564613
iastore
dup
bipush 114
17: .line 90
ldc -1754472259
iastore
dup
bipush 115
ldc 79693498
iastore
dup
bipush 116
ldc -1045868618
iastore
dup
bipush 117
ldc 1084186820
iastore
dup
bipush 118
ldc 1583128258
iastore
dup
bipush 119
ldc 426386531
iastore
dup
bipush 120
ldc 1761308591
iastore
dup
bipush 121
ldc 1047286709
iastore
dup
bipush 122
ldc 322548459
iastore
dup
bipush 123
18: .line 91
ldc 995290223
iastore
dup
bipush 124
ldc 1845252383
iastore
dup
bipush 125
ldc -1691314900
iastore
dup
bipush 126
ldc -863943356
iastore
dup
bipush 127
ldc -1352745719
iastore
dup
sipush 128
ldc -1092366332
iastore
dup
sipush 129
ldc -567063811
iastore
dup
sipush 130
ldc 1712269319
iastore
dup
sipush 131
ldc 422464435
iastore
dup
sipush 132
19: .line 92
ldc -1060394921
iastore
dup
sipush 133
ldc 1170764815
iastore
dup
sipush 134
ldc -771006663
iastore
dup
sipush 135
ldc -1177289765
iastore
dup
sipush 136
ldc 1434042557
iastore
dup
sipush 137
ldc 442511882
iastore
dup
sipush 138
ldc -694091578
iastore
dup
sipush 139
ldc 1076654713
iastore
dup
sipush 140
ldc 1738483198
iastore
dup
sipush 141
20: .line 93
ldc -81812532
iastore
dup
sipush 142
ldc -1901729288
iastore
dup
sipush 143
ldc -617471240
iastore
dup
sipush 144
ldc 1014306527
iastore
dup
sipush 145
ldc -43947243
iastore
dup
sipush 146
ldc 793779912
iastore
dup
sipush 147
ldc -1392160085
iastore
dup
sipush 148
ldc 842905082
iastore
dup
sipush 149
ldc -48003232
iastore
dup
sipush 150
21: .line 94
ldc 1395751752
iastore
dup
sipush 151
ldc 1040244610
iastore
dup
sipush 152
ldc -1638115397
iastore
dup
sipush 153
ldc -898659168
iastore
dup
sipush 154
ldc 445077038
iastore
dup
sipush 155
ldc -552113701
iastore
dup
sipush 156
ldc -717051658
iastore
dup
sipush 157
ldc 679411651
iastore
dup
sipush 158
ldc -1402522938
iastore
dup
sipush 159
22: .line 95
ldc -1940957837
iastore
dup
sipush 160
ldc 1767581616
iastore
dup
sipush 161
ldc -1144366904
iastore
dup
sipush 162
ldc -503340195
iastore
dup
sipush 163
ldc -1192226400
iastore
dup
sipush 164
ldc 284835224
iastore
dup
sipush 165
ldc -48135240
iastore
dup
sipush 166
ldc 1258075500
iastore
dup
sipush 167
ldc 768725851
iastore
dup
sipush 168
23: .line 96
ldc -1705778055
iastore
dup
sipush 169
ldc -1225243291
iastore
dup
sipush 170
ldc -762426948
iastore
dup
sipush 171
ldc 1274779536
iastore
dup
sipush 172
ldc -505548070
iastore
dup
sipush 173
ldc -1530167757
iastore
dup
sipush 174
ldc 1660621633
iastore
dup
sipush 175
ldc -823867672
iastore
dup
sipush 176
ldc -283063590
iastore
dup
sipush 177
24: .line 97
ldc 913787905
iastore
dup
sipush 178
ldc -797008130
iastore
dup
sipush 179
ldc 737222580
iastore
dup
sipush 180
ldc -1780753843
iastore
dup
sipush 181
ldc -1366257256
iastore
dup
sipush 182
ldc -357724559
iastore
dup
sipush 183
ldc 1804850592
iastore
dup
sipush 184
ldc -795946544
iastore
dup
sipush 185
ldc -1345903136
iastore
dup
sipush 186
25: .line 98
ldc -1908647121
iastore
dup
sipush 187
ldc -1904896841
iastore
dup
sipush 188
ldc -1879645445
iastore
dup
sipush 189
ldc -233690268
iastore
dup
sipush 190
ldc -2004305902
iastore
dup
sipush 191
ldc -1878134756
iastore
dup
sipush 192
ldc 1336762016
iastore
dup
sipush 193
ldc 1754252060
iastore
dup
sipush 194
ldc -774901359
iastore
dup
sipush 195
26: .line 99
ldc -1280786003
iastore
dup
sipush 196
ldc 791618072
iastore
dup
sipush 197
ldc -1106372745
iastore
dup
sipush 198
ldc -361419266
iastore
dup
sipush 199
ldc -1962795103
iastore
dup
sipush 200
ldc -442446833
iastore
dup
sipush 201
ldc -1250986776
iastore
dup
sipush 202
ldc 413987798
iastore
dup
sipush 203
ldc -829824359
iastore
dup
sipush 204
27: .line 100
ldc -1264037920
iastore
dup
sipush 205
ldc -49028937
iastore
dup
sipush 206
ldc 2093235073
iastore
dup
sipush 207
ldc -760370983
iastore
dup
sipush 208
ldc 375366246
iastore
dup
sipush 209
ldc -2137688315
iastore
dup
sipush 210
ldc -1815317740
iastore
dup
sipush 211
ldc 555357303
iastore
dup
sipush 212
ldc -424861595
iastore
dup
sipush 213
28: .line 101
ldc 2008414854
iastore
dup
sipush 214
ldc -950779147
iastore
dup
sipush 215
ldc -73583153
iastore
dup
sipush 216
ldc -338841844
iastore
dup
sipush 217
ldc 2067696032
iastore
dup
sipush 218
ldc -700376109
iastore
dup
sipush 219
ldc -1373733303
iastore
dup
sipush 220
ldc 2428461
iastore
dup
sipush 221
ldc 544322398
iastore
dup
sipush 222
29: .line 102
ldc 577241275
iastore
dup
sipush 223
ldc 1471733935
iastore
dup
sipush 224
ldc 610547355
iastore
dup
sipush 225
ldc -267798242
iastore
dup
sipush 226
ldc 1432588573
iastore
dup
sipush 227
ldc 1507829418
iastore
dup
sipush 228
ldc 2025931657
iastore
dup
sipush 229
ldc -648391809
iastore
dup
sipush 230
ldc 545086370
iastore
dup
sipush 231
30: .line 103
ldc 48609733
iastore
dup
sipush 232
ldc -2094660746
iastore
dup
sipush 233
ldc 1653985193
iastore
dup
sipush 234
ldc 298326376
iastore
dup
sipush 235
ldc 1316178497
iastore
dup
sipush 236
ldc -1287180854
iastore
dup
sipush 237
ldc 2064951626
iastore
dup
sipush 238
ldc 458293330
iastore
dup
sipush 239
ldc -1705826027
iastore
dup
sipush 240
31: .line 104
ldc -703637697
iastore
dup
sipush 241
ldc -1130641692
iastore
dup
sipush 242
ldc 727753846
iastore
dup
sipush 243
ldc -2115603456
iastore
dup
sipush 244
ldc 146436021
iastore
dup
sipush 245
ldc 1461446943
iastore
dup
sipush 246
ldc -224990101
iastore
dup
sipush 247
ldc 705550613
iastore
dup
sipush 248
ldc -1235000031
iastore
dup
sipush 249
32: .line 105
ldc -407242314
iastore
dup
sipush 250
ldc -13368018
iastore
dup
sipush 251
ldc -981117340
iastore
dup
sipush 252
ldc 1404054877
iastore
dup
sipush 253
ldc -1449160799
iastore
dup
sipush 254
ldc 146425753
iastore
dup
sipush 255
ldc 1854211946
iastore
dup
sipush 256
ldc 1266315497
iastore
dup
sipush 257
ldc -1246549692
iastore
dup
sipush 258
33: .line 106
ldc -613086930
iastore
dup
sipush 259
ldc -1004984797
iastore
dup
sipush 260
ldc -1385257296
iastore
dup
sipush 261
ldc 1235738493
iastore
dup
sipush 262
ldc -1662099272
iastore
dup
sipush 263
ldc -1880247706
iastore
dup
sipush 264
ldc -324367247
iastore
dup
sipush 265
ldc 1771706367
iastore
dup
sipush 266
ldc 1449415276
iastore
dup
sipush 267
34: .line 107
ldc -1028546847
iastore
dup
sipush 268
ldc 422970021
iastore
dup
sipush 269
ldc 1963543593
iastore
dup
sipush 270
ldc -1604775104
iastore
dup
sipush 271
ldc -468174274
iastore
dup
sipush 272
ldc 1062508698
iastore
dup
sipush 273
ldc 1531092325
iastore
dup
sipush 274
ldc 1804592342
iastore
dup
sipush 275
ldc -1711849514
iastore
dup
sipush 276
35: .line 108
ldc -1580033017
iastore
dup
sipush 277
ldc -269995787
iastore
dup
sipush 278
ldc 1294809318
iastore
dup
sipush 279
ldc -265986623
iastore
dup
sipush 280
ldc 1289560198
iastore
dup
sipush 281
ldc -2072974554
iastore
dup
sipush 282
ldc 1669523910
iastore
dup
sipush 283
ldc 35572830
iastore
dup
sipush 284
ldc 157838143
iastore
dup
sipush 285
36: .line 109
ldc 1052438473
iastore
dup
sipush 286
ldc 1016535060
iastore
dup
sipush 287
ldc 1802137761
iastore
dup
sipush 288
ldc 1753167236
iastore
dup
sipush 289
ldc 1386275462
iastore
dup
sipush 290
ldc -1214491899
iastore
dup
sipush 291
ldc -1437595849
iastore
dup
sipush 292
ldc 1040679964
iastore
dup
sipush 293
ldc 2145300060
iastore
dup
sipush 294
37: .line 110
ldc -1904392980
iastore
dup
sipush 295
ldc 1461121720
iastore
dup
sipush 296
ldc -1338320329
iastore
dup
sipush 297
ldc -263189491
iastore
dup
sipush 298
ldc -266592508
iastore
dup
sipush 299
ldc 33600511
iastore
dup
sipush 300
ldc -1374882534
iastore
dup
sipush 301
ldc 1018524850
iastore
dup
sipush 302
ldc 629373528
iastore
dup
sipush 303
38: .line 111
ldc -603381315
iastore
dup
sipush 304
ldc -779021319
iastore
dup
sipush 305
ldc 2091462646
iastore
dup
sipush 306
ldc -1808644237
iastore
dup
sipush 307
ldc 586499841
iastore
dup
sipush 308
ldc 988145025
iastore
dup
sipush 309
ldc 935516892
iastore
dup
sipush 310
ldc -927631820
iastore
dup
sipush 311
ldc -1695294041
iastore
dup
sipush 312
39: .line 112
ldc -1455136442
iastore
dup
sipush 313
ldc 265290510
iastore
dup
sipush 314
ldc -322386114
iastore
dup
sipush 315
ldc -1535828415
iastore
dup
sipush 316
ldc -499593831
iastore
dup
sipush 317
ldc 1005194799
iastore
dup
sipush 318
ldc 847297441
iastore
dup
sipush 319
ldc 406762289
iastore
dup
sipush 320
ldc 1314163512
iastore
dup
sipush 321
40: .line 113
ldc 1332590856
iastore
dup
sipush 322
ldc 1866599683
iastore
dup
sipush 323
ldc -167115585
iastore
dup
sipush 324
ldc 750260880
iastore
dup
sipush 325
ldc 613907577
iastore
dup
sipush 326
ldc 1450815602
iastore
dup
sipush 327
ldc -1129346641
iastore
dup
sipush 328
ldc -560302305
iastore
dup
sipush 329
ldc -644675568
iastore
dup
sipush 330
41: .line 114
ldc -1282691566
iastore
dup
sipush 331
ldc -590397650
iastore
dup
sipush 332
ldc 1427272223
iastore
dup
sipush 333
ldc 778793252
iastore
dup
sipush 334
ldc 1343938022
iastore
dup
sipush 335
ldc -1618686585
iastore
dup
sipush 336
ldc 2052605720
iastore
dup
sipush 337
ldc 1946737175
iastore
dup
sipush 338
ldc -1130390852
iastore
dup
sipush 339
42: .line 115
ldc -380928628
iastore
dup
sipush 340
ldc -327488454
iastore
dup
sipush 341
ldc -612033030
iastore
dup
sipush 342
ldc 1661551462
iastore
dup
sipush 343
ldc -1000029230
iastore
dup
sipush 344
ldc -283371449
iastore
dup
sipush 345
ldc 840292616
iastore
dup
sipush 346
ldc -582796489
iastore
dup
sipush 347
ldc 616741398
iastore
dup
sipush 348
43: .line 116
ldc 312560963
iastore
dup
sipush 349
ldc 711312465
iastore
dup
sipush 350
ldc 1351876610
iastore
dup
sipush 351
ldc 322626781
iastore
dup
sipush 352
ldc 1910503582
iastore
dup
sipush 353
ldc 271666773
iastore
dup
sipush 354
ldc -2119403562
iastore
dup
sipush 355
ldc 1594956187
iastore
dup
sipush 356
ldc 70604529
iastore
dup
sipush 357
44: .line 117
ldc -677132437
iastore
dup
sipush 358
ldc 1007753275
iastore
dup
sipush 359
ldc 1495573769
iastore
dup
sipush 360
ldc -225450259
iastore
dup
sipush 361
ldc -1745748998
iastore
dup
sipush 362
ldc -1631928532
iastore
dup
sipush 363
ldc 504708206
iastore
dup
sipush 364
ldc -2031925904
iastore
dup
sipush 365
ldc -353800271
iastore
dup
sipush 366
45: .line 118
ldc -2045878774
iastore
dup
sipush 367
ldc 1514023603
iastore
dup
sipush 368
ldc 1998579484
iastore
dup
sipush 369
ldc 1312622330
iastore
dup
sipush 370
ldc 694541497
iastore
dup
sipush 371
ldc -1712906993
iastore
dup
sipush 372
ldc -2143385130
iastore
dup
sipush 373
ldc 1382467621
iastore
dup
sipush 374
ldc 776784248
iastore
dup
sipush 375
46: .line 119
ldc -1676627094
iastore
dup
sipush 376
ldc -971698502
iastore
dup
sipush 377
ldc -1797068168
iastore
dup
sipush 378
ldc -1510196141
iastore
dup
sipush 379
ldc 503983604
iastore
dup
sipush 380
ldc -218673497
iastore
dup
sipush 381
ldc 907881277
iastore
dup
sipush 382
ldc 423175695
iastore
dup
sipush 383
ldc 432175456
iastore
dup
sipush 384
47: .line 120
ldc 1378068232
iastore
dup
sipush 385
ldc -149744970
iastore
dup
sipush 386
ldc -340918674
iastore
dup
sipush 387
ldc -356311194
iastore
dup
sipush 388
ldc -474200683
iastore
dup
sipush 389
ldc -1501837181
iastore
dup
sipush 390
ldc -1317062703
iastore
dup
sipush 391
ldc 26017576
iastore
dup
sipush 392
ldc -1020076561
iastore
dup
sipush 393
48: .line 121
ldc -1100195163
iastore
dup
sipush 394
ldc 1700274565
iastore
dup
sipush 395
ldc 1756076034
iastore
dup
sipush 396
ldc -288447217
iastore
dup
sipush 397
ldc -617638597
iastore
dup
sipush 398
ldc 720338349
iastore
dup
sipush 399
ldc 1533947780
iastore
dup
sipush 400
ldc 354530856
iastore
dup
sipush 401
ldc 688349552
iastore
dup
sipush 402
49: .line 122
ldc -321042571
iastore
dup
sipush 403
ldc 1637815568
iastore
dup
sipush 404
ldc 332179504
iastore
dup
sipush 405
ldc -345916010
iastore
dup
sipush 406
ldc 53804574
iastore
dup
sipush 407
ldc -1442618417
iastore
dup
sipush 408
ldc -1250730864
iastore
dup
sipush 409
ldc 1282449977
iastore
dup
sipush 410
ldc -711025141
iastore
dup
sipush 411
50: .line 123
ldc -877994476
iastore
dup
sipush 412
ldc -288586052
iastore
dup
sipush 413
ldc 1617046695
iastore
dup
sipush 414
ldc -1666491221
iastore
dup
sipush 415
ldc -1292663698
iastore
dup
sipush 416
ldc 1686838959
iastore
dup
sipush 417
ldc 431878346
iastore
dup
sipush 418
ldc -1608291911
iastore
dup
sipush 419
ldc 1700445008
iastore
dup
sipush 420
51: .line 124
ldc 1080580658
iastore
dup
sipush 421
ldc 1009431731
iastore
dup
sipush 422
ldc 832498133
iastore
dup
sipush 423
ldc -1071531785
iastore
dup
sipush 424
ldc -1688990951
iastore
dup
sipush 425
ldc -2023776103
iastore
dup
sipush 426
ldc -1778935426
iastore
dup
sipush 427
ldc 1648197032
iastore
dup
sipush 428
ldc -130578278
iastore
dup
sipush 429
52: .line 125
ldc -1746719369
iastore
dup
sipush 430
ldc 300782431
iastore
dup
sipush 431
ldc 375919233
iastore
dup
sipush 432
ldc 238389289
iastore
dup
sipush 433
ldc -941219882
iastore
dup
sipush 434
ldc -1763778655
iastore
dup
sipush 435
ldc 2019080857
iastore
dup
sipush 436
ldc 1475708069
iastore
dup
sipush 437
ldc 455242339
iastore
dup
sipush 438
53: .line 126
ldc -1685863425
iastore
dup
sipush 439
ldc 448939670
iastore
dup
sipush 440
ldc -843904277
iastore
dup
sipush 441
ldc 1395535956
iastore
dup
sipush 442
ldc -1881585436
iastore
dup
sipush 443
ldc 1841049896
iastore
dup
sipush 444
ldc 1491858159
iastore
dup
sipush 445
ldc 885456874
iastore
dup
sipush 446
ldc -30872223
iastore
dup
sipush 447
54: .line 127
ldc -293847949
iastore
dup
sipush 448
ldc 1565136089
iastore
dup
sipush 449
ldc -396052509
iastore
dup
sipush 450
ldc 1108368660
iastore
dup
sipush 451
ldc 540939232
iastore
dup
sipush 452
ldc 1173283510
iastore
dup
sipush 453
ldc -1549095958
iastore
dup
sipush 454
ldc -613658859
iastore
dup
sipush 455
ldc -87339056
iastore
dup
sipush 456
55: .line 128
ldc -951913406
iastore
dup
sipush 457
ldc -278217803
iastore
dup
sipush 458
ldc 1699691293
iastore
dup
sipush 459
ldc 1103962373
iastore
dup
sipush 460
ldc -669091426
iastore
dup
sipush 461
ldc -2038084153
iastore
dup
sipush 462
ldc -464828566
iastore
dup
sipush 463
ldc 1031889488
iastore
dup
sipush 464
ldc -815619598
iastore
dup
sipush 465
56: .line 129
ldc 1535977030
iastore
dup
sipush 466
ldc -58162272
iastore
dup
sipush 467
ldc -1043876189
iastore
dup
sipush 468
ldc 2132092099
iastore
dup
sipush 469
ldc 1774941330
iastore
dup
sipush 470
ldc 1199868427
iastore
dup
sipush 471
ldc 1452454533
iastore
dup
sipush 472
ldc 157007616
iastore
dup
sipush 473
ldc -1390851939
iastore
dup
sipush 474
57: .line 130
ldc 342012276
iastore
dup
sipush 475
ldc 595725824
iastore
dup
sipush 476
ldc 1480756522
iastore
dup
sipush 477
ldc 206960106
iastore
dup
sipush 478
ldc 497939518
iastore
dup
sipush 479
ldc 591360097
iastore
dup
sipush 480
ldc 863170706
iastore
dup
sipush 481
ldc -1919713727
iastore
dup
sipush 482
ldc -698356495
iastore
dup
sipush 483
58: .line 131
ldc 1814182875
iastore
dup
sipush 484
ldc 2094937945
iastore
dup
sipush 485
ldc -873565088
iastore
dup
sipush 486
ldc 1082520231
iastore
dup
sipush 487
ldc -831049106
iastore
dup
sipush 488
ldc -1509457788
iastore
dup
sipush 489
ldc 435703966
iastore
dup
sipush 490
ldc -386934699
iastore
dup
sipush 491
ldc 1641649973
iastore
dup
sipush 492
59: .line 132
ldc -1452693590
iastore
dup
sipush 493
ldc -989067582
iastore
dup
sipush 494
ldc 1510255612
iastore
dup
sipush 495
ldc -2146710820
iastore
dup
sipush 496
ldc -1639679442
iastore
dup
sipush 497
ldc -1018874748
iastore
dup
sipush 498
ldc -36346107
iastore
dup
sipush 499
ldc 236887753
iastore
dup
sipush 500
ldc -613164077
iastore
dup
sipush 501
60: .line 133
ldc 274041037
iastore
dup
sipush 502
ldc 1734335097
iastore
dup
sipush 503
ldc -479771840
iastore
dup
sipush 504
ldc -976997275
iastore
dup
sipush 505
ldc 1899903192
iastore
dup
sipush 506
ldc 1026095262
iastore
dup
sipush 507
ldc -244449504
iastore
dup
sipush 508
ldc 356393447
iastore
dup
sipush 509
ldc -1884275382
iastore
dup
sipush 510
61: .line 134
ldc -421290197
iastore
dup
sipush 511
ldc -612127241
iastore
dup
sipush 512
ldc -381855128
iastore
dup
sipush 513
ldc -1803468553
iastore
dup
sipush 514
ldc -162781668
iastore
dup
sipush 515
ldc -1805047500
iastore
dup
sipush 516
ldc 1091903735
iastore
dup
sipush 517
ldc 1979897079
iastore
dup
sipush 518
ldc -1124832466
iastore
dup
sipush 519
62: .line 135
ldc -727580568
iastore
dup
sipush 520
ldc -737663887
iastore
dup
sipush 521
ldc 857797738
iastore
dup
sipush 522
ldc 1136121015
iastore
dup
sipush 523
ldc 1342202287
iastore
dup
sipush 524
ldc 507115054
iastore
dup
sipush 525
ldc -1759230650
iastore
dup
sipush 526
ldc 337727348
iastore
dup
sipush 527
ldc -1081374656
iastore
dup
sipush 528
63: .line 136
ldc 1301675037
iastore
dup
sipush 529
ldc -1766485585
iastore
dup
sipush 530
ldc 1895095763
iastore
dup
sipush 531
ldc 1721773893
iastore
dup
sipush 532
ldc -1078195732
iastore
dup
sipush 533
ldc 62756741
iastore
dup
sipush 534
ldc 2142006736
iastore
dup
sipush 535
ldc 835421444
iastore
dup
sipush 536
ldc -1762973773
iastore
dup
sipush 537
64: .line 137
ldc 1442658625
iastore
dup
sipush 538
ldc -635090970
iastore
dup
sipush 539
ldc -1412822374
iastore
dup
sipush 540
ldc 676362277
iastore
dup
sipush 541
ldc 1392781812
iastore
dup
sipush 542
ldc 170690266
iastore
dup
sipush 543
ldc -373920261
iastore
dup
sipush 544
ldc 1759253602
iastore
dup
sipush 545
ldc -683120384
iastore
dup
sipush 546
65: .line 138
ldc 1745797284
iastore
dup
sipush 547
ldc 664899054
iastore
dup
sipush 548
ldc 1329594018
iastore
dup
sipush 549
ldc -393761396
iastore
dup
sipush 550
ldc -1249058810
iastore
dup
sipush 551
ldc 2062866102
iastore
dup
sipush 552
ldc -1429332356
iastore
dup
sipush 553
ldc -751345684
iastore
dup
sipush 554
ldc -830954599
iastore
dup
sipush 555
66: .line 139
ldc 1080764994
iastore
dup
sipush 556
ldc 553557557
iastore
dup
sipush 557
ldc -638351943
iastore
dup
sipush 558
ldc -298199125
iastore
dup
sipush 559
ldc 991055499
iastore
dup
sipush 560
ldc 499776247
iastore
dup
sipush 561
ldc 1265440854
iastore
dup
sipush 562
ldc 648242737
iastore
dup
sipush 563
ldc -354183246
iastore
dup
sipush 564
67: .line 140
ldc 980351604
iastore
dup
sipush 565
ldc -581221582
iastore
dup
sipush 566
ldc 1749149687
iastore
dup
sipush 567
ldc -898096901
iastore
dup
sipush 568
ldc -83167922
iastore
dup
sipush 569
ldc -654396521
iastore
dup
sipush 570
ldc 1161844396
iastore
dup
sipush 571
ldc -1169648345
iastore
dup
sipush 572
ldc 1431517754
iastore
dup
sipush 573
68: .line 141
ldc 545492359
iastore
dup
sipush 574
ldc -26498633
iastore
dup
sipush 575
ldc -795437749
iastore
dup
sipush 576
ldc 1437099964
iastore
dup
sipush 577
ldc -1592419752
iastore
dup
sipush 578
ldc -861329053
iastore
dup
sipush 579
ldc -1713251533
iastore
dup
sipush 580
ldc -1507177898
iastore
dup
sipush 581
ldc 1060185593
iastore
dup
sipush 582
69: .line 142
ldc 1593081372
iastore
dup
sipush 583
ldc -1876348548
iastore
dup
sipush 584
ldc -34019326
iastore
dup
sipush 585
ldc 69676912
iastore
dup
sipush 586
ldc -2135222948
iastore
dup
sipush 587
ldc 86519011
iastore
dup
sipush 588
ldc -1782508216
iastore
dup
sipush 589
ldc -456757982
iastore
dup
sipush 590
ldc 1220612927
iastore
dup
sipush 591
70: .line 143
ldc -955283748
iastore
dup
sipush 592
ldc 133810670
iastore
dup
sipush 593
ldc 1090789135
iastore
dup
sipush 594
ldc 1078426020
iastore
dup
sipush 595
ldc 1569222167
iastore
dup
sipush 596
ldc 845107691
iastore
dup
sipush 597
ldc -711212847
iastore
dup
sipush 598
ldc -222510705
iastore
dup
sipush 599
ldc 1091646820
iastore
dup
sipush 600
71: .line 144
ldc 628848692
iastore
dup
sipush 601
ldc 1613405280
iastore
dup
sipush 602
ldc -537335645
iastore
dup
sipush 603
ldc 526609435
iastore
dup
sipush 604
ldc 236106946
iastore
dup
sipush 605
ldc 48312990
iastore
dup
sipush 606
ldc -1352249391
iastore
dup
sipush 607
ldc -892239595
iastore
dup
sipush 608
ldc 1797494240
iastore
dup
sipush 609
72: .line 145
ldc 859738849
iastore
dup
sipush 610
ldc 992217954
iastore
dup
sipush 611
ldc -289490654
iastore
dup
sipush 612
ldc -2051890674
iastore
dup
sipush 613
ldc -424014439
iastore
dup
sipush 614
ldc -562951028
iastore
dup
sipush 615
ldc 765654824
iastore
dup
sipush 616
ldc -804095931
iastore
dup
sipush 617
ldc -1783130883
iastore
dup
sipush 618
73: .line 146
ldc 1685915746
iastore
dup
sipush 619
ldc -405998096
iastore
dup
sipush 620
ldc 1414112111
iastore
dup
sipush 621
ldc -2021832454
iastore
dup
sipush 622
ldc -1013056217
iastore
dup
sipush 623
ldc -214004450
iastore
dup
sipush 624
ldc 172450625
iastore
dup
sipush 625
ldc -1724973196
iastore
dup
sipush 626
ldc 980381355
iastore
dup
sipush 627
74: .line 147
ldc -185008841
iastore
dup
sipush 628
ldc -1475158944
iastore
dup
sipush 629
ldc -1578377736
iastore
dup
sipush 630
ldc -1726226100
iastore
dup
sipush 631
ldc -613520627
iastore
dup
sipush 632
ldc -964995824
iastore
dup
sipush 633
ldc 1835478071
iastore
dup
sipush 634
ldc 660984891
iastore
dup
sipush 635
ldc -590288892
iastore
dup
sipush 636
75: .line 148
ldc -248967737
iastore
dup
sipush 637
ldc -872349789
iastore
dup
sipush 638
ldc -1254551662
iastore
dup
sipush 639
ldc 1762651403
iastore
dup
sipush 640
ldc 1719377915
iastore
dup
sipush 641
ldc -824476260
iastore
dup
sipush 642
ldc -1601057013
iastore
dup
sipush 643
ldc -652910941
iastore
dup
sipush 644
ldc -1156370552
iastore
dup
sipush 645
76: .line 149
ldc 1364962596
iastore
dup
sipush 646
ldc 2073328063
iastore
dup
sipush 647
ldc 1983633131
iastore
dup
sipush 648
ldc 926494387
iastore
dup
sipush 649
ldc -871278215
iastore
dup
sipush 650
ldc -2144935273
iastore
dup
sipush 651
ldc -198299347
iastore
dup
sipush 652
ldc 1749200295
iastore
dup
sipush 653
ldc -966120645
iastore
dup
sipush 654
77: .line 150
ldc 309677260
iastore
dup
sipush 655
ldc 2016342300
iastore
dup
sipush 656
ldc 1779581495
iastore
dup
sipush 657
ldc -1215147545
iastore
dup
sipush 658
ldc 111262694
iastore
dup
sipush 659
ldc 1274766160
iastore
dup
sipush 660
ldc 443224088
iastore
dup
sipush 661
ldc 298511866
iastore
dup
sipush 662
ldc 1025883608
iastore
dup
sipush 663
78: .line 151
ldc -488520759
iastore
dup
sipush 664
ldc 1145181785
iastore
dup
sipush 665
ldc 168956806
iastore
dup
sipush 666
ldc -653464466
iastore
dup
sipush 667
ldc -710153686
iastore
dup
sipush 668
ldc 1689216846
iastore
dup
sipush 669
ldc -628709281
iastore
dup
sipush 670
ldc -1094719096
iastore
dup
sipush 671
ldc 1692713982
iastore
dup
sipush 672
79: .line 152
ldc -1648590761
iastore
dup
sipush 673
ldc -252198778
iastore
dup
sipush 674
ldc 1618508792
iastore
dup
sipush 675
ldc 1610833997
iastore
dup
sipush 676
ldc -771914938
iastore
dup
sipush 677
ldc -164094032
iastore
dup
sipush 678
ldc 2001055236
iastore
dup
sipush 679
ldc -684262196
iastore
dup
sipush 680
ldc -2092799181
iastore
dup
sipush 681
80: .line 153
ldc -266425487
iastore
dup
sipush 682
ldc -1333771897
iastore
dup
sipush 683
ldc 1006657119
iastore
dup
sipush 684
ldc 2006996926
iastore
dup
sipush 685
ldc -1108824540
iastore
dup
sipush 686
ldc 1430667929
iastore
dup
sipush 687
ldc -1084739999
iastore
dup
sipush 688
ldc 1314452623
iastore
dup
sipush 689
ldc -220332638
iastore
dup
sipush 690
81: .line 154
ldc -193663176
iastore
dup
sipush 691
ldc -2021016126
iastore
dup
sipush 692
ldc 1399257539
iastore
dup
sipush 693
ldc -927756684
iastore
dup
sipush 694
ldc -1267338667
iastore
dup
sipush 695
ldc 1190975929
iastore
dup
sipush 696
ldc 2062231137
iastore
dup
sipush 697
ldc -1960976508
iastore
dup
sipush 698
ldc -2073424263
iastore
dup
sipush 699
82: .line 155
ldc -1856006686
iastore
dup
sipush 700
ldc 1181637006
iastore
dup
sipush 701
ldc 548689776
iastore
dup
sipush 702
ldc -1932175983
iastore
dup
sipush 703
ldc -922558900
iastore
dup
sipush 704
ldc -1190417183
iastore
dup
sipush 705
ldc -1149106736
iastore
dup
sipush 706
ldc 296247880
iastore
dup
sipush 707
ldc 1970579870
iastore
dup
sipush 708
83: .line 156
ldc -1216407114
iastore
dup
sipush 709
ldc -525738999
iastore
dup
sipush 710
ldc 1714227617
iastore
dup
sipush 711
ldc -1003338189
iastore
dup
sipush 712
ldc -396747006
iastore
dup
sipush 713
ldc 166772364
iastore
dup
sipush 714
ldc 1251581989
iastore
dup
sipush 715
ldc 493813264
iastore
dup
sipush 716
ldc 448347421
iastore
dup
sipush 717
84: .line 157
ldc 195405023
iastore
dup
sipush 718
ldc -1584991729
iastore
dup
sipush 719
ldc 677966185
iastore
dup
sipush 720
ldc -591930749
iastore
dup
sipush 721
ldc 1463355134
iastore
dup
sipush 722
ldc -1578971493
iastore
dup
sipush 723
ldc 1338867538
iastore
dup
sipush 724
ldc 1343315457
iastore
dup
sipush 725
ldc -1492745222
iastore
dup
sipush 726
85: .line 158
ldc -1610435132
iastore
dup
sipush 727
ldc 233230375
iastore
dup
sipush 728
ldc -1694987225
iastore
dup
sipush 729
ldc 2000651841
iastore
dup
sipush 730
ldc -1017099258
iastore
dup
sipush 731
ldc 1638401717
iastore
dup
sipush 732
ldc -266896856
iastore
dup
sipush 733
ldc -1057650976
iastore
dup
sipush 734
ldc 6314154
iastore
dup
sipush 735
86: .line 159
ldc 819756386
iastore
dup
sipush 736
ldc 300326615
iastore
dup
sipush 737
ldc 590932579
iastore
dup
sipush 738
ldc 1405279636
iastore
dup
sipush 739
ldc -1027467724
iastore
dup
sipush 740
ldc -1144263082
iastore
dup
sipush 741
ldc -1866680610
iastore
dup
sipush 742
ldc -335774303
iastore
dup
sipush 743
ldc -833020554
iastore
dup
sipush 744
87: .line 160
ldc 1862657033
iastore
dup
sipush 745
ldc 1266418056
iastore
dup
sipush 746
ldc 963775037
iastore
dup
sipush 747
ldc 2089974820
iastore
dup
sipush 748
ldc -2031914401
iastore
dup
sipush 749
ldc 1917689273
iastore
dup
sipush 750
ldc 448879540
iastore
dup
sipush 751
ldc -744572676
iastore
dup
sipush 752
ldc -313240200
iastore
dup
sipush 753
88: .line 161
ldc 150775221
iastore
dup
sipush 754
ldc -667058989
iastore
dup
sipush 755
ldc 1303187396
iastore
dup
sipush 756
ldc 508620638
iastore
dup
sipush 757
ldc -1318983944
iastore
dup
sipush 758
ldc -1568336679
iastore
dup
sipush 759
ldc 1817252668
iastore
dup
sipush 760
ldc 1876281319
iastore
dup
sipush 761
ldc 1457606340
iastore
dup
sipush 762
89: .line 162
ldc 908771278
iastore
dup
sipush 763
ldc -574175177
iastore
dup
sipush 764
ldc -677760460
iastore
dup
sipush 765
ldc -1838972398
iastore
dup
sipush 766
ldc 1729034894
iastore
dup
sipush 767
ldc 1080033504
iastore
dup
sipush 768
ldc 976866871
iastore
dup
sipush 769
ldc -738527793
iastore
dup
sipush 770
ldc -1413318857
iastore
dup
sipush 771
90: .line 163
ldc 1522871579
iastore
dup
sipush 772
ldc 1555064734
iastore
dup
sipush 773
ldc 1336096578
iastore
dup
sipush 774
ldc -746444992
iastore
dup
sipush 775
ldc -1715692610
iastore
dup
sipush 776
ldc -720269667
iastore
dup
sipush 777
ldc -1089506539
iastore
dup
sipush 778
ldc -701686658
iastore
dup
sipush 779
ldc -956251013
iastore
dup
sipush 780
91: .line 164
ldc -1215554709
iastore
dup
sipush 781
ldc 564236357
iastore
dup
sipush 782
ldc -1301368386
iastore
dup
sipush 783
ldc 1781952180
iastore
dup
sipush 784
ldc 1464380207
iastore
dup
sipush 785
ldc -1131123079
iastore
dup
sipush 786
ldc -962365742
iastore
dup
sipush 787
ldc 1699332808
iastore
dup
sipush 788
ldc 1393555694
iastore
dup
sipush 789
92: .line 165
ldc 1183702653
iastore
dup
sipush 790
ldc -713881059
iastore
dup
sipush 791
ldc 1288719814
iastore
dup
sipush 792
ldc 691649499
iastore
dup
sipush 793
ldc -1447410096
iastore
dup
sipush 794
ldc -1399511320
iastore
dup
sipush 795
ldc -1101077756
iastore
dup
sipush 796
ldc -1577396752
iastore
dup
sipush 797
ldc 1781354906
iastore
dup
sipush 798
93: .line 166
ldc 1676643554
iastore
dup
sipush 799
ldc -1702433246
iastore
dup
sipush 800
ldc -1064713544
iastore
dup
sipush 801
ldc 1126444790
iastore
dup
sipush 802
ldc -1524759638
iastore
dup
sipush 803
ldc -1661808476
iastore
dup
sipush 804
ldc -2084544070
iastore
dup
sipush 805
ldc -1679201715
iastore
dup
sipush 806
ldc -1880812208
iastore
dup
sipush 807
94: .line 167
ldc -1167828010
iastore
dup
sipush 808
ldc 673620729
iastore
dup
sipush 809
ldc -1489356063
iastore
dup
sipush 810
ldc 1269405062
iastore
dup
sipush 811
ldc -279616791
iastore
dup
sipush 812
ldc -953159725
iastore
dup
sipush 813
ldc -145557542
iastore
dup
sipush 814
ldc 1057255273
iastore
dup
sipush 815
ldc 2012875353
iastore
dup
sipush 816
95: .line 168
ldc -2132498155
iastore
dup
sipush 817
ldc -2018474495
iastore
dup
sipush 818
ldc -1693849939
iastore
dup
sipush 819
ldc 993977747
iastore
dup
sipush 820
ldc -376373926
iastore
dup
sipush 821
ldc -1640704105
iastore
dup
sipush 822
ldc 753973209
iastore
dup
sipush 823
ldc 36408145
iastore
dup
sipush 824
ldc -1764381638
iastore
dup
sipush 825
96: .line 169
ldc 25011837
iastore
dup
sipush 826
ldc -774947114
iastore
dup
sipush 827
ldc 2088578344
iastore
dup
sipush 828
ldc 530523599
iastore
dup
sipush 829
ldc -1376601957
iastore
dup
sipush 830
ldc 1524020338
iastore
dup
sipush 831
ldc 1518925132
iastore
dup
sipush 832
ldc -534139791
iastore
dup
sipush 833
ldc -535190042
iastore
dup
sipush 834
97: .line 170
ldc 1202760957
iastore
dup
sipush 835
ldc -309069157
iastore
dup
sipush 836
ldc -388774771
iastore
dup
sipush 837
ldc 674977740
iastore
dup
sipush 838
ldc -120232407
iastore
dup
sipush 839
ldc 2031300136
iastore
dup
sipush 840
ldc 2019492241
iastore
dup
sipush 841
ldc -311074731
iastore
dup
sipush 842
ldc -141160892
iastore
dup
sipush 843
98: .line 171
ldc -472686964
iastore
dup
sipush 844
ldc 352677332
iastore
dup
sipush 845
ldc -1997247046
iastore
dup
sipush 846
ldc 60907813
iastore
dup
sipush 847
ldc 90501309
iastore
dup
sipush 848
ldc -1007968747
iastore
dup
sipush 849
ldc 1016092578
iastore
dup
sipush 850
ldc -1759044884
iastore
dup
sipush 851
ldc -1455814870
iastore
dup
sipush 852
99: .line 172
ldc 457141659
iastore
dup
sipush 853
ldc 509813237
iastore
dup
sipush 854
ldc -174299397
iastore
dup
sipush 855
ldc 652014361
iastore
dup
sipush 856
ldc 1966332200
iastore
dup
sipush 857
ldc -1319764491
iastore
dup
sipush 858
ldc 55981186
iastore
dup
sipush 859
ldc -1967506245
iastore
dup
sipush 860
ldc 676427537
iastore
dup
sipush 861
100: .line 173
ldc -1039476232
iastore
dup
sipush 862
ldc -1412673177
iastore
dup
sipush 863
ldc -861040033
iastore
dup
sipush 864
ldc 1307055953
iastore
dup
sipush 865
ldc 942726286
iastore
dup
sipush 866
ldc 933058658
iastore
dup
sipush 867
ldc -1826555503
iastore
dup
sipush 868
ldc -361066302
iastore
dup
sipush 869
ldc -79791154
iastore
dup
sipush 870
101: .line 174
ldc 1361170020
iastore
dup
sipush 871
ldc 2001714738
iastore
dup
sipush 872
ldc -1464409218
iastore
dup
sipush 873
ldc -1020707514
iastore
dup
sipush 874
ldc 1222529897
iastore
dup
sipush 875
ldc 1679025792
iastore
dup
sipush 876
ldc -1565652976
iastore
dup
sipush 877
ldc -580013532
iastore
dup
sipush 878
ldc 1770335741
iastore
dup
sipush 879
102: .line 175
ldc 151462246
iastore
dup
sipush 880
ldc -1281735158
iastore
dup
sipush 881
ldc 1682292957
iastore
dup
sipush 882
ldc 1483529935
iastore
dup
sipush 883
ldc 471910574
iastore
dup
sipush 884
ldc 1539241949
iastore
dup
sipush 885
ldc 458788160
iastore
dup
sipush 886
ldc -858652289
iastore
dup
sipush 887
ldc 1807016891
iastore
dup
sipush 888
103: .line 176
ldc -576558466
iastore
dup
sipush 889
ldc 978976581
iastore
dup
sipush 890
ldc 1043663428
iastore
dup
sipush 891
ldc -1129001515
iastore
dup
sipush 892
ldc 1927990952
iastore
dup
sipush 893
ldc -94075717
iastore
dup
sipush 894
ldc -1922690386
iastore
dup
sipush 895
ldc -1086558393
iastore
dup
sipush 896
ldc -761535389
iastore
dup
sipush 897
104: .line 177
ldc 1412390302
iastore
dup
sipush 898
ldc -1362987237
iastore
dup
sipush 899
ldc -162634896
iastore
dup
sipush 900
ldc 1947078029
iastore
dup
sipush 901
ldc -413461673
iastore
dup
sipush 902
ldc -126740879
iastore
dup
sipush 903
ldc -1353482915
iastore
dup
sipush 904
ldc 1077988104
iastore
dup
sipush 905
ldc 1320477388
iastore
dup
sipush 906
105: .line 178
ldc 886195818
iastore
dup
sipush 907
ldc 18198404
iastore
dup
sipush 908
ldc -508558296
iastore
dup
sipush 909
ldc -1785185763
iastore
dup
sipush 910
ldc 112762804
iastore
dup
sipush 911
ldc -831610808
iastore
dup
sipush 912
ldc 1866414978
iastore
dup
sipush 913
ldc 891333506
iastore
dup
sipush 914
ldc 18488651
iastore
dup
sipush 915
106: .line 179
ldc 661792760
iastore
dup
sipush 916
ldc 1628790961
iastore
dup
sipush 917
ldc -409780260
iastore
dup
sipush 918
ldc -1153795797
iastore
dup
sipush 919
ldc 876946877
iastore
dup
sipush 920
ldc -1601685023
iastore
dup
sipush 921
ldc 1372485963
iastore
dup
sipush 922
ldc 791857591
iastore
dup
sipush 923
ldc -1608533303
iastore
dup
sipush 924
107: .line 180
ldc -534984578
iastore
dup
sipush 925
ldc -1127755274
iastore
dup
sipush 926
ldc -822013501
iastore
dup
sipush 927
ldc -1578587449
iastore
dup
sipush 928
ldc 445679433
iastore
dup
sipush 929
ldc -732971622
iastore
dup
sipush 930
ldc -790962485
iastore
dup
sipush 931
ldc -720709064
iastore
dup
sipush 932
ldc 54117162
iastore
dup
sipush 933
108: .line 181
ldc -963561881
iastore
dup
sipush 934
ldc -1913048708
iastore
dup
sipush 935
ldc -525259953
iastore
dup
sipush 936
ldc -140617289
iastore
dup
sipush 937
ldc 1140177722
iastore
dup
sipush 938
ldc -220915201
iastore
dup
sipush 939
ldc 668550556
iastore
dup
sipush 940
ldc -1080614356
iastore
dup
sipush 941
ldc 367459370
iastore
dup
sipush 942
109: .line 182
ldc 261225585
iastore
dup
sipush 943
ldc -1684794075
iastore
dup
sipush 944
ldc -85617823
iastore
dup
sipush 945
ldc -826893077
iastore
dup
sipush 946
ldc -1029151655
iastore
dup
sipush 947
ldc 314222801
iastore
dup
sipush 948
ldc -1228863650
iastore
dup
sipush 949
ldc -486184436
iastore
dup
sipush 950
ldc 282218597
iastore
dup
sipush 951
110: .line 183
ldc -888953790
iastore
dup
sipush 952
ldc -521376242
iastore
dup
sipush 953
ldc 379116347
iastore
dup
sipush 954
ldc 1285071038
iastore
dup
sipush 955
ldc 846784868
iastore
dup
sipush 956
ldc -1625320142
iastore
dup
sipush 957
ldc -523005217
iastore
dup
sipush 958
ldc -744475605
iastore
dup
sipush 959
ldc -1989021154
iastore
dup
sipush 960
111: .line 184
ldc 453669953
iastore
dup
sipush 961
ldc 1268987020
iastore
dup
sipush 962
ldc -977374944
iastore
dup
sipush 963
ldc -1015663912
iastore
dup
sipush 964
ldc -550133875
iastore
dup
sipush 965
ldc -1684459730
iastore
dup
sipush 966
ldc -435458233
iastore
dup
sipush 967
ldc 266596637
iastore
dup
sipush 968
ldc -447948204
iastore
dup
sipush 969
112: .line 185
ldc 517658769
iastore
dup
sipush 970
ldc -832407089
iastore
dup
sipush 971
ldc -851542417
iastore
dup
sipush 972
ldc 370717030
iastore
dup
sipush 973
ldc -47440635
iastore
dup
sipush 974
ldc -2070949179
iastore
dup
sipush 975
ldc -151313767
iastore
dup
sipush 976
ldc -182193321
iastore
dup
sipush 977
ldc -1506642397
iastore
dup
sipush 978
113: .line 186
ldc -1817692879
iastore
dup
sipush 979
ldc 1456262402
iastore
dup
sipush 980
ldc -1393524382
iastore
dup
sipush 981
ldc 1517677493
iastore
dup
sipush 982
ldc 1846949527
iastore
dup
sipush 983
ldc -1999473716
iastore
dup
sipush 984
ldc -560569710
iastore
dup
sipush 985
ldc -2118563376
iastore
dup
sipush 986
ldc 1280348187
iastore
dup
sipush 987
114: .line 187
ldc 1908823572
iastore
dup
sipush 988
ldc -423180355
iastore
dup
sipush 989
ldc 846861322
iastore
dup
sipush 990
ldc 1172426758
iastore
dup
sipush 991
ldc -1007518822
iastore
dup
sipush 992
ldc -911584259
iastore
dup
sipush 993
ldc 1655181056
iastore
dup
sipush 994
ldc -1155153950
iastore
dup
sipush 995
ldc 901632758
iastore
dup
sipush 996
115: .line 188
ldc 1897031941
iastore
dup
sipush 997
ldc -1308360158
iastore
dup
sipush 998
ldc -1228157060
iastore
dup
sipush 999
ldc -847864789
iastore
dup
sipush 1000
ldc 1393639104
iastore
dup
sipush 1001
ldc 373351379
iastore
dup
sipush 1002
ldc 950779232
iastore
dup
sipush 1003
ldc 625454576
iastore
dup
sipush 1004
ldc -1170726756
iastore
dup
sipush 1005
116: .line 189
ldc -146354570
iastore
dup
sipush 1006
ldc 2007998917
iastore
dup
sipush 1007
ldc 544563296
iastore
dup
sipush 1008
ldc -2050228658
iastore
dup
sipush 1009
ldc -1964470824
iastore
dup
sipush 1010
ldc 2058025392
iastore
dup
sipush 1011
ldc 1291430526
iastore
dup
sipush 1012
ldc 424198748
iastore
dup
sipush 1013
ldc 50039436
iastore
dup
sipush 1014
117: .line 190
ldc 29584100
iastore
dup
sipush 1015
ldc -689184263
iastore
dup
sipush 1016
ldc -1865090967
iastore
dup
sipush 1017
ldc -1503863136
iastore
dup
sipush 1018
ldc 1057563949
iastore
dup
sipush 1019
ldc -1039604065
iastore
dup
sipush 1020
ldc -1219600078
iastore
dup
sipush 1021
ldc -831004069
iastore
dup
sipush 1022
ldc 1469046755
iastore
dup
sipush 1023
118: .line 191
ldc 985887462
iastore
119: .line 77
putstatic org.springframework.security.crypto.bcrypt.BCrypt.S_orig:[I
120: .line 194
bipush 6
newarray 10
dup
iconst_0
ldc 1332899944
iastore
dup
iconst_1
ldc 1700884034
iastore
dup
iconst_2
ldc 1701343084
iastore
dup
iconst_3
ldc 1684370003
iastore
dup
iconst_4
ldc 1668446532
iastore
dup
iconst_5
121: .line 195
ldc 1869963892
iastore
122: .line 194
putstatic org.springframework.security.crypto.bcrypt.BCrypt.bf_crypt_ciphertext:[I
123: .line 198
bipush 64
newarray 5
dup
iconst_0
bipush 46
castore
dup
iconst_1
bipush 47
castore
dup
iconst_2
bipush 65
castore
dup
iconst_3
bipush 66
castore
dup
iconst_4
bipush 67
castore
dup
iconst_5
bipush 68
castore
dup
bipush 6
bipush 69
castore
dup
bipush 7
bipush 70
castore
dup
bipush 8
bipush 71
castore
dup
bipush 9
bipush 72
castore
dup
bipush 10
bipush 73
castore
dup
bipush 11
bipush 74
castore
dup
bipush 12
bipush 75
castore
dup
bipush 13
bipush 76
castore
dup
bipush 14
124: .line 199
bipush 77
castore
dup
bipush 15
bipush 78
castore
dup
bipush 16
bipush 79
castore
dup
bipush 17
bipush 80
castore
dup
bipush 18
bipush 81
castore
dup
bipush 19
bipush 82
castore
dup
bipush 20
bipush 83
castore
dup
bipush 21
bipush 84
castore
dup
bipush 22
bipush 85
castore
dup
bipush 23
bipush 86
castore
dup
bipush 24
bipush 87
castore
dup
bipush 25
bipush 88
castore
dup
bipush 26
bipush 89
castore
dup
bipush 27
bipush 90
castore
dup
bipush 28
bipush 97
castore
dup
bipush 29
bipush 98
castore
dup
bipush 30
bipush 99
castore
dup
bipush 31
bipush 100
castore
dup
bipush 32
bipush 101
castore
dup
bipush 33
bipush 102
castore
dup
bipush 34
bipush 103
castore
dup
bipush 35
125: .line 200
bipush 104
castore
dup
bipush 36
bipush 105
castore
dup
bipush 37
bipush 106
castore
dup
bipush 38
bipush 107
castore
dup
bipush 39
bipush 108
castore
dup
bipush 40
bipush 109
castore
dup
bipush 41
bipush 110
castore
dup
bipush 42
bipush 111
castore
dup
bipush 43
bipush 112
castore
dup
bipush 44
bipush 113
castore
dup
bipush 45
bipush 114
castore
dup
bipush 46
bipush 115
castore
dup
bipush 47
bipush 116
castore
dup
bipush 48
bipush 117
castore
dup
bipush 49
bipush 118
castore
dup
bipush 50
bipush 119
castore
dup
bipush 51
bipush 120
castore
dup
bipush 52
bipush 121
castore
dup
bipush 53
bipush 122
castore
dup
bipush 54
bipush 48
castore
dup
bipush 55
bipush 49
castore
dup
bipush 56
126: .line 201
bipush 50
castore
dup
bipush 57
bipush 51
castore
dup
bipush 58
bipush 52
castore
dup
bipush 59
bipush 53
castore
dup
bipush 60
bipush 54
castore
dup
bipush 61
bipush 55
castore
dup
bipush 62
bipush 56
castore
dup
bipush 63
bipush 57
castore
127: .line 198
putstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
128: .line 204
sipush 128
newarray 8
dup
iconst_0
iconst_m1
bastore
dup
iconst_1
iconst_m1
bastore
dup
iconst_2
iconst_m1
bastore
dup
iconst_3
iconst_m1
bastore
dup
iconst_4
iconst_m1
bastore
dup
iconst_5
iconst_m1
bastore
dup
bipush 6
iconst_m1
bastore
dup
bipush 7
iconst_m1
bastore
dup
bipush 8
iconst_m1
bastore
dup
bipush 9
iconst_m1
bastore
dup
bipush 10
iconst_m1
bastore
dup
bipush 11
iconst_m1
bastore
dup
bipush 12
iconst_m1
bastore
dup
bipush 13
iconst_m1
bastore
dup
bipush 14
iconst_m1
bastore
dup
bipush 15
iconst_m1
bastore
dup
bipush 16
iconst_m1
bastore
dup
bipush 17
iconst_m1
bastore
dup
bipush 18
iconst_m1
bastore
dup
bipush 19
129: .line 205
iconst_m1
bastore
dup
bipush 20
iconst_m1
bastore
dup
bipush 21
iconst_m1
bastore
dup
bipush 22
iconst_m1
bastore
dup
bipush 23
iconst_m1
bastore
dup
bipush 24
iconst_m1
bastore
dup
bipush 25
iconst_m1
bastore
dup
bipush 26
iconst_m1
bastore
dup
bipush 27
iconst_m1
bastore
dup
bipush 28
iconst_m1
bastore
dup
bipush 29
iconst_m1
bastore
dup
bipush 30
iconst_m1
bastore
dup
bipush 31
iconst_m1
bastore
dup
bipush 32
iconst_m1
bastore
dup
bipush 33
iconst_m1
bastore
dup
bipush 34
iconst_m1
bastore
dup
bipush 35
iconst_m1
bastore
dup
bipush 36
iconst_m1
bastore
dup
bipush 37
iconst_m1
bastore
dup
bipush 38
iconst_m1
bastore
dup
bipush 39
iconst_m1
bastore
dup
bipush 40
iconst_m1
bastore
dup
bipush 41
iconst_m1
bastore
dup
bipush 42
iconst_m1
bastore
dup
bipush 43
iconst_m1
bastore
dup
bipush 44
iconst_m1
bastore
dup
bipush 45
iconst_m1
bastore
dup
bipush 47
130: .line 206
iconst_1
bastore
dup
bipush 48
bipush 54
bastore
dup
bipush 49
bipush 55
bastore
dup
bipush 50
bipush 56
bastore
dup
bipush 51
bipush 57
bastore
dup
bipush 52
bipush 58
bastore
dup
bipush 53
bipush 59
bastore
dup
bipush 54
bipush 60
bastore
dup
bipush 55
bipush 61
bastore
dup
bipush 56
bipush 62
bastore
dup
bipush 57
bipush 63
bastore
dup
bipush 58
iconst_m1
bastore
dup
bipush 59
iconst_m1
bastore
dup
bipush 60
iconst_m1
bastore
dup
bipush 61
iconst_m1
bastore
dup
bipush 62
iconst_m1
bastore
dup
bipush 63
iconst_m1
bastore
dup
bipush 64
iconst_m1
bastore
dup
bipush 65
iconst_2
bastore
dup
bipush 66
iconst_3
bastore
dup
bipush 67
iconst_4
bastore
dup
bipush 68
iconst_5
bastore
dup
bipush 69
bipush 6
bastore
dup
bipush 70
bipush 7
bastore
dup
bipush 71
bipush 8
bastore
dup
bipush 72
bipush 9
bastore
dup
bipush 73
bipush 10
bastore
dup
bipush 74
bipush 11
bastore
dup
bipush 75
131: .line 207
bipush 12
bastore
dup
bipush 76
bipush 13
bastore
dup
bipush 77
bipush 14
bastore
dup
bipush 78
bipush 15
bastore
dup
bipush 79
bipush 16
bastore
dup
bipush 80
bipush 17
bastore
dup
bipush 81
bipush 18
bastore
dup
bipush 82
bipush 19
bastore
dup
bipush 83
bipush 20
bastore
dup
bipush 84
bipush 21
bastore
dup
bipush 85
bipush 22
bastore
dup
bipush 86
bipush 23
bastore
dup
bipush 87
bipush 24
bastore
dup
bipush 88
bipush 25
bastore
dup
bipush 89
bipush 26
bastore
dup
bipush 90
bipush 27
bastore
dup
bipush 91
iconst_m1
bastore
dup
bipush 92
iconst_m1
bastore
dup
bipush 93
iconst_m1
bastore
dup
bipush 94
iconst_m1
bastore
dup
bipush 95
iconst_m1
bastore
dup
bipush 96
iconst_m1
bastore
dup
bipush 97
bipush 28
bastore
dup
bipush 98
bipush 29
bastore
dup
bipush 99
bipush 30
bastore
dup
bipush 100
bipush 31
bastore
dup
bipush 101
bipush 32
bastore
dup
bipush 102
132: .line 208
bipush 33
bastore
dup
bipush 103
bipush 34
bastore
dup
bipush 104
bipush 35
bastore
dup
bipush 105
bipush 36
bastore
dup
bipush 106
bipush 37
bastore
dup
bipush 107
bipush 38
bastore
dup
bipush 108
bipush 39
bastore
dup
bipush 109
bipush 40
bastore
dup
bipush 110
bipush 41
bastore
dup
bipush 111
bipush 42
bastore
dup
bipush 112
bipush 43
bastore
dup
bipush 113
bipush 44
bastore
dup
bipush 114
bipush 45
bastore
dup
bipush 115
bipush 46
bastore
dup
bipush 116
bipush 47
bastore
dup
bipush 117
bipush 48
bastore
dup
bipush 118
bipush 49
bastore
dup
bipush 119
bipush 50
bastore
dup
bipush 120
bipush 51
bastore
dup
bipush 121
bipush 52
bastore
dup
bipush 122
bipush 53
bastore
dup
bipush 123
iconst_m1
bastore
dup
bipush 124
iconst_m1
bastore
dup
bipush 125
iconst_m1
bastore
dup
bipush 126
iconst_m1
bastore
dup
bipush 127
iconst_m1
bastore
133: .line 204
putstatic org.springframework.security.crypto.bcrypt.BCrypt.index_64:[B
134: .line 210
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
0: .line 62
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
static void encode_base64(byte[], int, java.lang.StringBuilder);
descriptor: ([BILjava/lang/StringBuilder;)V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 // byte[] d
start local 1 // int len
start local 2 // java.lang.StringBuilder rs
0: .line 227
iconst_0
istore 3 /* off */
start local 3 // int off
1: .line 230
iload 1 /* len */
ifle 2
iload 1 /* len */
aload 0 /* d */
arraylength
if_icmple 20
2: .line 231
StackMap locals: int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid len"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: .line 235
StackMap locals:
StackMap stack:
aload 0 /* d */
iload 3 /* off */
iinc 3 /* off */ 1
baload
sipush 255
iand
istore 4 /* c1 */
start local 4 // int c1
4: .line 236
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 4 /* c1 */
iconst_2
ishr
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
5: .line 237
iload 4 /* c1 */
iconst_3
iand
iconst_4
ishl
istore 4 /* c1 */
6: .line 238
iload 3 /* off */
iload 1 /* len */
if_icmplt 9
7: .line 239
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 4 /* c1 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
8: .line 240
goto 21
9: .line 242
StackMap locals: int
StackMap stack:
aload 0 /* d */
iload 3 /* off */
iinc 3 /* off */ 1
baload
sipush 255
iand
istore 5 /* c2 */
start local 5 // int c2
10: .line 243
iload 4 /* c1 */
iload 5 /* c2 */
iconst_4
ishr
bipush 15
iand
ior
istore 4 /* c1 */
11: .line 244
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 4 /* c1 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: .line 245
iload 5 /* c2 */
bipush 15
iand
iconst_2
ishl
istore 4 /* c1 */
13: .line 246
iload 3 /* off */
iload 1 /* len */
if_icmplt 16
14: .line 247
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 4 /* c1 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: .line 248
goto 21
16: .line 250
StackMap locals: int
StackMap stack:
aload 0 /* d */
iload 3 /* off */
iinc 3 /* off */ 1
baload
sipush 255
iand
istore 5 /* c2 */
17: .line 251
iload 4 /* c1 */
iload 5 /* c2 */
bipush 6
ishr
iconst_3
iand
ior
istore 4 /* c1 */
18: .line 252
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 4 /* c1 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
19: .line 253
aload 2 /* rs */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.base64_code:[C
iload 5 /* c2 */
bipush 63
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 5 // int c2
end local 4 // int c1
20: .line 234
StackMap locals:
StackMap stack:
iload 3 /* off */
iload 1 /* len */
if_icmplt 3
21: .line 255
StackMap locals:
StackMap stack:
return
end local 3 // int off
end local 2 // java.lang.StringBuilder rs
end local 1 // int len
end local 0 // byte[] d
LocalVariableTable:
Start End Slot Name Signature
0 22 0 d [B
0 22 1 len I
0 22 2 rs Ljava/lang/StringBuilder;
1 22 3 off I
4 20 4 c1 I
10 20 5 c2 I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
d
len
rs
private static byte char64(char);
descriptor: (C)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // char x
0: .line 264
iload 0 /* x */
iflt 1
iload 0 /* x */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.index_64:[B
arraylength
if_icmplt 2
1: .line 265
StackMap locals:
StackMap stack:
iconst_m1
ireturn
2: .line 267
StackMap locals:
StackMap stack:
getstatic org.springframework.security.crypto.bcrypt.BCrypt.index_64:[B
iload 0 /* x */
baload
ireturn
end local 0 // char x
LocalVariableTable:
Start End Slot Name Signature
0 3 0 x C
MethodParameters:
Name Flags
x
static byte[] decode_base64(java.lang.String, int);
descriptor: (Ljava/lang/String;I)[B
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=12, args_size=2
start local 0 // java.lang.String s
start local 1 // int maxolen
0: .line 279
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2 /* rs */
start local 2 // java.lang.StringBuilder rs
1: .line 280
iconst_0
istore 3 /* off */
start local 3 // int off
2: aload 0 /* s */
invokevirtual java.lang.String.length:()I
istore 4 /* slen */
start local 4 // int slen
3: iconst_0
istore 5 /* olen */
start local 5 // int olen
4: .line 284
iload 1 /* maxolen */
ifgt 28
5: .line 285
new java.lang.IllegalArgumentException
dup
ldc "Invalid maxolen"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
6: .line 289
StackMap locals: java.lang.String int java.lang.StringBuilder int int int
StackMap stack:
aload 0 /* s */
iload 3 /* off */
iinc 3 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.char64:(C)B
istore 7 /* c1 */
start local 7 // byte c1
7: .line 290
aload 0 /* s */
iload 3 /* off */
iinc 3 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.char64:(C)B
istore 8 /* c2 */
start local 8 // byte c2
8: .line 291
iload 7 /* c1 */
iconst_m1
if_icmpeq 29
iload 8 /* c2 */
iconst_m1
if_icmpne 10
9: .line 292
goto 29
10: .line 294
StackMap locals: java.lang.String int java.lang.StringBuilder int int int top int int
StackMap stack:
iload 7 /* c1 */
iconst_2
ishl
i2b
istore 11 /* o */
start local 11 // byte o
11: .line 295
iload 11 /* o */
iload 8 /* c2 */
bipush 48
iand
iconst_4
ishr
ior
i2b
istore 11 /* o */
12: .line 296
aload 2 /* rs */
iload 11 /* o */
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
13: .line 297
iinc 5 /* olen */ 1
iload 5 /* olen */
iload 1 /* maxolen */
if_icmpge 29
iload 3 /* off */
iload 4 /* slen */
if_icmplt 15
14: .line 298
goto 29
15: .line 300
StackMap locals: java.lang.String int java.lang.StringBuilder int int int top int int top top int
StackMap stack:
aload 0 /* s */
iload 3 /* off */
iinc 3 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.char64:(C)B
istore 9 /* c3 */
start local 9 // byte c3
16: .line 301
iload 9 /* c3 */
iconst_m1
if_icmpne 18
17: .line 302
goto 29
18: .line 304
StackMap locals: java.lang.String int java.lang.StringBuilder int int int top int int int top int
StackMap stack:
iload 8 /* c2 */
bipush 15
iand
iconst_4
ishl
i2b
istore 11 /* o */
19: .line 305
iload 11 /* o */
iload 9 /* c3 */
bipush 60
iand
iconst_2
ishr
ior
i2b
istore 11 /* o */
20: .line 306
aload 2 /* rs */
iload 11 /* o */
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
21: .line 307
iinc 5 /* olen */ 1
iload 5 /* olen */
iload 1 /* maxolen */
if_icmpge 29
iload 3 /* off */
iload 4 /* slen */
if_icmplt 23
22: .line 308
goto 29
23: .line 310
StackMap locals:
StackMap stack:
aload 0 /* s */
iload 3 /* off */
iinc 3 /* off */ 1
invokevirtual java.lang.String.charAt:(I)C
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.char64:(C)B
istore 10 /* c4 */
start local 10 // byte c4
24: .line 311
iload 9 /* c3 */
iconst_3
iand
bipush 6
ishl
i2b
istore 11 /* o */
25: .line 312
iload 11 /* o */
iload 10 /* c4 */
ior
i2b
istore 11 /* o */
26: .line 313
aload 2 /* rs */
iload 11 /* o */
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
27: .line 314
iinc 5 /* olen */ 1
end local 11 // byte o
end local 10 // byte c4
end local 9 // byte c3
end local 8 // byte c2
end local 7 // byte c1
28: .line 288
StackMap locals: java.lang.String int java.lang.StringBuilder int int int
StackMap stack:
iload 3 /* off */
iload 4 /* slen */
iconst_1
isub
if_icmpge 29
iload 5 /* olen */
iload 1 /* maxolen */
if_icmplt 6
29: .line 317
StackMap locals:
StackMap stack:
iload 5 /* olen */
newarray 8
astore 6 /* ret */
start local 6 // byte[] ret
30: .line 318
iconst_0
istore 3 /* off */
goto 33
31: .line 319
StackMap locals: byte[]
StackMap stack:
aload 6 /* ret */
iload 3 /* off */
aload 2 /* rs */
iload 3 /* off */
invokevirtual java.lang.StringBuilder.charAt:(I)C
i2b
bastore
32: .line 318
iinc 3 /* off */ 1
StackMap locals:
StackMap stack:
33: iload 3 /* off */
iload 5 /* olen */
if_icmplt 31
34: .line 321
aload 6 /* ret */
areturn
end local 6 // byte[] ret
end local 5 // int olen
end local 4 // int slen
end local 3 // int off
end local 2 // java.lang.StringBuilder rs
end local 1 // int maxolen
end local 0 // java.lang.String s
LocalVariableTable:
Start End Slot Name Signature
0 35 0 s Ljava/lang/String;
0 35 1 maxolen I
1 35 2 rs Ljava/lang/StringBuilder;
2 35 3 off I
3 35 4 slen I
4 35 5 olen I
30 35 6 ret [B
7 28 7 c1 B
8 28 8 c2 B
16 28 9 c3 B
24 28 10 c4 B
11 28 11 o B
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
s
maxolen
private void encipher(int[], int);
descriptor: ([II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
start local 1 // int[] lr
start local 2 // int off
0: .line 330
aload 1 /* lr */
iload 2 /* off */
iaload
istore 5 /* l */
start local 5 // int l
1: aload 1 /* lr */
iload 2 /* off */
iconst_1
iadd
iaload
istore 6 /* r */
start local 6 // int r
2: .line 332
iload 5 /* l */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iconst_0
iaload
ixor
istore 5 /* l */
3: .line 333
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 15
5: .line 335
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt int[] int int top int int
StackMap stack:
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 5 /* l */
bipush 24
ishr
sipush 255
iand
iaload
istore 4 /* n */
start local 4 // int n
6: .line 336
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 256
iload 5 /* l */
bipush 16
ishr
sipush 255
iand
ior
iaload
iadd
istore 4 /* n */
7: .line 337
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 512
iload 5 /* l */
bipush 8
ishr
sipush 255
iand
ior
iaload
ixor
istore 4 /* n */
8: .line 338
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 768
iload 5 /* l */
sipush 255
iand
ior
iaload
iadd
istore 4 /* n */
9: .line 339
iload 6 /* r */
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iinc 3 /* i */ 1
iload 3 /* i */
iaload
ixor
ixor
istore 6 /* r */
10: .line 342
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 6 /* r */
bipush 24
ishr
sipush 255
iand
iaload
istore 4 /* n */
11: .line 343
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 256
iload 6 /* r */
bipush 16
ishr
sipush 255
iand
ior
iaload
iadd
istore 4 /* n */
12: .line 344
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 512
iload 6 /* r */
bipush 8
ishr
sipush 255
iand
ior
iaload
ixor
istore 4 /* n */
13: .line 345
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
sipush 768
iload 6 /* r */
sipush 255
iand
ior
iaload
iadd
istore 4 /* n */
14: .line 346
iload 5 /* l */
iload 4 /* n */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iinc 3 /* i */ 1
iload 3 /* i */
iaload
ixor
ixor
istore 5 /* l */
end local 4 // int n
15: .line 333
StackMap locals:
StackMap stack:
iload 3 /* i */
bipush 14
if_icmple 5
16: .line 348
aload 1 /* lr */
iload 2 /* off */
iload 6 /* r */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
bipush 17
iaload
ixor
iastore
17: .line 349
aload 1 /* lr */
iload 2 /* off */
iconst_1
iadd
iload 5 /* l */
iastore
18: .line 350
return
end local 6 // int r
end local 5 // int l
end local 3 // int i
end local 2 // int off
end local 1 // int[] lr
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
0 19 1 lr [I
0 19 2 off I
4 19 3 i I
6 15 4 n I
1 19 5 l I
2 19 6 r I
MethodParameters:
Name Flags
lr
off
private static int[] streamtowords(byte[], int[], int[]);
descriptor: ([B[I[I)[I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=3
start local 0 // byte[] data
start local 1 // int[] offp
start local 2 // int[] signp
0: .line 362
iconst_2
newarray 10
astore 4 /* words */
start local 4 // int[] words
1: .line 363
aload 1 /* offp */
iconst_0
iaload
istore 5 /* off */
start local 5 // int off
2: .line 364
aload 2 /* signp */
iconst_0
iaload
istore 6 /* sign */
start local 6 // int sign
3: .line 366
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 11
5: .line 367
StackMap locals: byte[] int[] int[] int int[] int int
StackMap stack:
aload 4 /* words */
iconst_0
aload 4 /* words */
iconst_0
iaload
bipush 8
ishl
aload 0 /* data */
iload 5 /* off */
baload
sipush 255
iand
ior
iastore
6: .line 368
aload 4 /* words */
iconst_1
aload 4 /* words */
iconst_1
iaload
bipush 8
ishl
aload 0 /* data */
iload 5 /* off */
baload
ior
iastore
7: .line 369
iload 3 /* i */
ifle 9
8: .line 370
iload 6 /* sign */
aload 4 /* words */
iconst_1
iaload
sipush 128
iand
ior
istore 6 /* sign */
9: .line 372
StackMap locals:
StackMap stack:
iload 5 /* off */
iconst_1
iadd
aload 0 /* data */
arraylength
irem
istore 5 /* off */
10: .line 366
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 3 /* i */
iconst_4
if_icmplt 5
12: .line 375
aload 1 /* offp */
iconst_0
iload 5 /* off */
iastore
13: .line 376
aload 2 /* signp */
iconst_0
iload 6 /* sign */
iastore
14: .line 377
aload 4 /* words */
areturn
end local 6 // int sign
end local 5 // int off
end local 4 // int[] words
end local 3 // int i
end local 2 // int[] signp
end local 1 // int[] offp
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 15 0 data [B
0 15 1 offp [I
0 15 2 signp [I
4 15 3 i I
1 15 4 words [I
2 15 5 off I
3 15 6 sign I
MethodParameters:
Name Flags
data
offp
signp
private static int streamtoword(byte[], int[]);
descriptor: ([B[I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] data
start local 1 // int[] offp
0: .line 387
iconst_1
newarray 10
astore 2 /* signp */
start local 2 // int[] signp
1: .line 388
aload 0 /* data */
aload 1 /* offp */
aload 2 /* signp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtowords:([B[I[I)[I
iconst_0
iaload
ireturn
end local 2 // int[] signp
end local 1 // int[] offp
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 offp [I
1 2 2 signp [I
MethodParameters:
Name Flags
data
offp
private static int streamtoword_bug(byte[], int[]);
descriptor: ([B[I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 // byte[] data
start local 1 // int[] offp
0: .line 398
iconst_1
newarray 10
astore 2 /* signp */
start local 2 // int[] signp
1: .line 399
aload 0 /* data */
aload 1 /* offp */
aload 2 /* signp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtowords:([B[I[I)[I
iconst_1
iaload
ireturn
end local 2 // int[] signp
end local 1 // int[] offp
end local 0 // byte[] data
LocalVariableTable:
Start End Slot Name Signature
0 2 0 data [B
0 2 1 offp [I
1 2 2 signp [I
MethodParameters:
Name Flags
data
offp
private void init_key();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
0: .line 406
aload 0 /* this */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.P_orig:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
1: .line 407
aload 0 /* this */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.S_orig:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
putfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
2: .line 408
return
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
private void key(byte[], boolean, int);
descriptor: ([BZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=4
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
start local 1 // byte[] key
start local 2 // boolean sign_ext_bug
start local 3 // int safety
0: .line 418
iconst_1
newarray 10
astore 5 /* koffp */
start local 5 // int[] koffp
1: .line 419
iconst_2
newarray 10
astore 6 /* lr */
start local 6 // int[] lr
2: .line 420
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
arraylength
istore 7 /* plen */
start local 7 // int plen
3: aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
arraylength
istore 8 /* slen */
start local 8 // int slen
4: .line 422
iconst_0
istore 4 /* i */
start local 4 // int i
5: goto 11
6: .line 423
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] int int int int[] int[] int int
StackMap stack:
iload 2 /* sign_ext_bug */
ifne 9
7: .line 424
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
iaload
aload 1 /* key */
aload 5 /* koffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword:([B[I)I
ixor
iastore
8: .line 425
goto 10
9: .line 427
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
iaload
aload 1 /* key */
aload 5 /* koffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword_bug:([B[I)I
ixor
iastore
10: .line 422
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 4 /* i */
iload 7 /* plen */
if_icmplt 6
12: .line 431
iconst_0
istore 4 /* i */
goto 17
13: .line 432
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 6 /* lr */
iconst_0
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.encipher:([II)V
14: .line 433
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
aload 6 /* lr */
iconst_0
iaload
iastore
15: .line 434
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 4 /* i */
iconst_1
iadd
aload 6 /* lr */
iconst_1
iaload
iastore
16: .line 431
iinc 4 /* i */ 2
StackMap locals:
StackMap stack:
17: iload 4 /* i */
iload 7 /* plen */
if_icmplt 13
18: .line 437
iconst_0
istore 4 /* i */
goto 23
19: .line 438
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 6 /* lr */
iconst_0
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.encipher:([II)V
20: .line 439
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 4 /* i */
aload 6 /* lr */
iconst_0
iaload
iastore
21: .line 440
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 4 /* i */
iconst_1
iadd
aload 6 /* lr */
iconst_1
iaload
iastore
22: .line 437
iinc 4 /* i */ 2
StackMap locals:
StackMap stack:
23: iload 4 /* i */
iload 8 /* slen */
if_icmplt 19
24: .line 442
return
end local 8 // int slen
end local 7 // int plen
end local 6 // int[] lr
end local 5 // int[] koffp
end local 4 // int i
end local 3 // int safety
end local 2 // boolean sign_ext_bug
end local 1 // byte[] key
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
0 25 1 key [B
0 25 2 sign_ext_bug Z
0 25 3 safety I
5 25 4 i I
1 25 5 koffp [I
2 25 6 lr [I
3 25 7 plen I
4 25 8 slen I
MethodParameters:
Name Flags
key
sign_ext_bug
safety
private void ekskey(byte[], byte[], boolean, int);
descriptor: ([B[BZI)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=5
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
start local 1 // byte[] data
start local 2 // byte[] key
start local 3 // boolean sign_ext_bug
start local 4 // int safety
0: .line 454
iconst_1
newarray 10
astore 6 /* koffp */
start local 6 // int[] koffp
1: iconst_1
newarray 10
astore 7 /* doffp */
start local 7 // int[] doffp
2: .line 455
iconst_2
newarray 10
astore 8 /* lr */
start local 8 // int[] lr
3: .line 456
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
arraylength
istore 9 /* plen */
start local 9 // int plen
4: aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
arraylength
istore 10 /* slen */
start local 10 // int slen
5: .line 457
iconst_1
newarray 10
astore 11 /* signp */
start local 11 // int[] signp
6: .line 458
iconst_0
istore 12 /* diff */
start local 12 // int diff
7: .line 460
iconst_0
istore 5 /* i */
start local 5 // int i
8: goto 15
9: .line 461
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int[] int[] int[] int int int[] int
StackMap stack:
aload 2 /* key */
aload 6 /* koffp */
aload 11 /* signp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtowords:([B[I[I)[I
astore 13 /* words */
start local 13 // int[] words
10: .line 462
iload 12 /* diff */
aload 13 /* words */
iconst_0
iaload
aload 13 /* words */
iconst_1
iaload
ixor
ior
istore 12 /* diff */
11: .line 463
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 5 /* i */
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 5 /* i */
iaload
aload 13 /* words */
iload 3 /* sign_ext_bug */
ifeq 12
iconst_1
goto 13
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int[] int[] int[] int int int[] int int[]
StackMap stack: int[] int int int[]
12: iconst_0
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int[] int[] int[] int int int[] int int[]
StackMap stack: int[] int int int[] int
13: iaload
ixor
iastore
end local 13 // int[] words
14: .line 460
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
15: iload 5 /* i */
iload 9 /* plen */
if_icmplt 9
16: .line 466
aload 11 /* signp */
iconst_0
iaload
istore 13 /* sign */
start local 13 // int sign
17: .line 477
iload 12 /* diff */
iload 12 /* diff */
bipush 16
ishr
ior
istore 12 /* diff */
18: .line 478
iload 12 /* diff */
ldc 65535
iand
istore 12 /* diff */
19: .line 479
iload 12 /* diff */
ldc 65535
iadd
istore 12 /* diff */
20: .line 480
iload 13 /* sign */
bipush 9
ishl
istore 13 /* sign */
21: .line 481
iload 13 /* sign */
iload 12 /* diff */
iconst_m1
ixor
iload 4 /* safety */
iand
iand
istore 13 /* sign */
22: .line 494
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iconst_0
dup2
iaload
iload 13 /* sign */
ixor
iastore
23: .line 496
iconst_0
istore 5 /* i */
goto 30
24: .line 497
StackMap locals: int
StackMap stack:
aload 8 /* lr */
iconst_0
dup2
iaload
aload 1 /* data */
aload 7 /* doffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword:([B[I)I
ixor
iastore
25: .line 498
aload 8 /* lr */
iconst_1
dup2
iaload
aload 1 /* data */
aload 7 /* doffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword:([B[I)I
ixor
iastore
26: .line 499
aload 0 /* this */
aload 8 /* lr */
iconst_0
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.encipher:([II)V
27: .line 500
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 5 /* i */
aload 8 /* lr */
iconst_0
iaload
iastore
28: .line 501
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.P:[I
iload 5 /* i */
iconst_1
iadd
aload 8 /* lr */
iconst_1
iaload
iastore
29: .line 496
iinc 5 /* i */ 2
StackMap locals:
StackMap stack:
30: iload 5 /* i */
iload 9 /* plen */
if_icmplt 24
31: .line 504
iconst_0
istore 5 /* i */
goto 38
32: .line 505
StackMap locals:
StackMap stack:
aload 8 /* lr */
iconst_0
dup2
iaload
aload 1 /* data */
aload 7 /* doffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword:([B[I)I
ixor
iastore
33: .line 506
aload 8 /* lr */
iconst_1
dup2
iaload
aload 1 /* data */
aload 7 /* doffp */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.streamtoword:([B[I)I
ixor
iastore
34: .line 507
aload 0 /* this */
aload 8 /* lr */
iconst_0
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.encipher:([II)V
35: .line 508
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 5 /* i */
aload 8 /* lr */
iconst_0
iaload
iastore
36: .line 509
aload 0 /* this */
getfield org.springframework.security.crypto.bcrypt.BCrypt.S:[I
iload 5 /* i */
iconst_1
iadd
aload 8 /* lr */
iconst_1
iaload
iastore
37: .line 504
iinc 5 /* i */ 2
StackMap locals:
StackMap stack:
38: iload 5 /* i */
iload 10 /* slen */
if_icmplt 32
39: .line 511
return
end local 13 // int sign
end local 12 // int diff
end local 11 // int[] signp
end local 10 // int slen
end local 9 // int plen
end local 8 // int[] lr
end local 7 // int[] doffp
end local 6 // int[] koffp
end local 5 // int i
end local 4 // int safety
end local 3 // boolean sign_ext_bug
end local 2 // byte[] key
end local 1 // byte[] data
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
0 40 1 data [B
0 40 2 key [B
0 40 3 sign_ext_bug Z
0 40 4 safety I
8 40 5 i I
1 40 6 koffp [I
2 40 7 doffp [I
3 40 8 lr [I
4 40 9 plen I
5 40 10 slen I
6 40 11 signp [I
7 40 12 diff I
10 14 13 words [I
17 40 13 sign I
MethodParameters:
Name Flags
data
key
sign_ext_bug
safety
static long roundsForLogRounds(int);
descriptor: (I)J
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int log_rounds
0: .line 514
iload 0 /* log_rounds */
iconst_4
if_icmplt 1
iload 0 /* log_rounds */
bipush 31
if_icmple 2
1: .line 515
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Bad number of rounds"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: .line 517
StackMap locals:
StackMap stack:
lconst_1
iload 0 /* log_rounds */
lshl
lreturn
end local 0 // int log_rounds
LocalVariableTable:
Start End Slot Name Signature
0 3 0 log_rounds I
MethodParameters:
Name Flags
log_rounds
private byte[] crypt_raw(byte[], byte[], int, boolean, int);
descriptor: ([B[BIZI)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=6
start local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
start local 1 // byte[] password
start local 2 // byte[] salt
start local 3 // int log_rounds
start local 4 // boolean sign_ext_bug
start local 5 // int safety
0: .line 531
getstatic org.springframework.security.crypto.bcrypt.BCrypt.bf_crypt_ciphertext:[I
invokevirtual int[].clone:()Ljava/lang/Object;
checkcast int[]
astore 9 /* cdata */
start local 9 // int[] cdata
1: .line 532
aload 9 /* cdata */
arraylength
istore 10 /* clen */
start local 10 // int clen
2: .line 535
iload 3 /* log_rounds */
iconst_4
if_icmplt 3
iload 3 /* log_rounds */
bipush 31
if_icmple 4
3: .line 536
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int top top top int[] int
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Bad number of rounds"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 538
StackMap locals:
StackMap stack:
iconst_1
iload 3 /* log_rounds */
ishl
istore 6 /* rounds */
start local 6 // int rounds
5: .line 539
aload 2 /* salt */
arraylength
bipush 16
if_icmpeq 7
6: .line 540
new java.lang.IllegalArgumentException
dup
ldc "Bad salt length"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: .line 543
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int top top int[] int
StackMap stack:
aload 0 /* this */
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.init_key:()V
8: .line 544
aload 0 /* this */
aload 2 /* salt */
aload 1 /* password */
iload 4 /* sign_ext_bug */
iload 5 /* safety */
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.ekskey:([B[BZI)V
9: .line 545
iconst_0
istore 7 /* i */
start local 7 // int i
10: goto 14
11: .line 546
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int int top int[] int
StackMap stack:
aload 0 /* this */
aload 1 /* password */
iload 4 /* sign_ext_bug */
iload 5 /* safety */
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.key:([BZI)V
12: .line 547
aload 0 /* this */
aload 2 /* salt */
iconst_0
iload 5 /* safety */
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.key:([BZI)V
13: .line 545
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
14: iload 7 /* i */
iload 6 /* rounds */
if_icmplt 11
15: .line 550
iconst_0
istore 7 /* i */
goto 22
16: .line 551
StackMap locals:
StackMap stack:
iconst_0
istore 8 /* j */
start local 8 // int j
17: goto 20
18: .line 552
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int int int int[] int
StackMap stack:
aload 0 /* this */
aload 9 /* cdata */
iload 8 /* j */
iconst_1
ishl
invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.encipher:([II)V
19: .line 551
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
20: iload 8 /* j */
iload 10 /* clen */
iconst_1
ishr
if_icmplt 18
21: .line 550
iinc 7 /* i */ 1
end local 8 // int j
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int int top int[] int
StackMap stack:
22: iload 7 /* i */
bipush 64
if_icmplt 16
23: .line 556
iload 10 /* clen */
iconst_4
imul
newarray 8
astore 11 /* ret */
start local 11 // byte[] ret
24: .line 557
iconst_0
istore 7 /* i */
iconst_0
istore 8 /* j */
start local 8 // int j
25: goto 31
26: .line 558
StackMap locals: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int int int int int[] int byte[]
StackMap stack:
aload 11 /* ret */
iload 8 /* j */
iinc 8 /* j */ 1
aload 9 /* cdata */
iload 7 /* i */
iaload
bipush 24
ishr
sipush 255
iand
i2b
bastore
27: .line 559
aload 11 /* ret */
iload 8 /* j */
iinc 8 /* j */ 1
aload 9 /* cdata */
iload 7 /* i */
iaload
bipush 16
ishr
sipush 255
iand
i2b
bastore
28: .line 560
aload 11 /* ret */
iload 8 /* j */
iinc 8 /* j */ 1
aload 9 /* cdata */
iload 7 /* i */
iaload
bipush 8
ishr
sipush 255
iand
i2b
bastore
29: .line 561
aload 11 /* ret */
iload 8 /* j */
iinc 8 /* j */ 1
aload 9 /* cdata */
iload 7 /* i */
iaload
sipush 255
iand
i2b
bastore
30: .line 557
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
31: iload 7 /* i */
iload 10 /* clen */
if_icmplt 26
32: .line 563
aload 11 /* ret */
areturn
end local 11 // byte[] ret
end local 10 // int clen
end local 9 // int[] cdata
end local 8 // int j
end local 7 // int i
end local 6 // int rounds
end local 5 // int safety
end local 4 // boolean sign_ext_bug
end local 3 // int log_rounds
end local 2 // byte[] salt
end local 1 // byte[] password
end local 0 // org.springframework.security.crypto.bcrypt.BCrypt this
LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lorg/springframework/security/crypto/bcrypt/BCrypt;
0 33 1 password [B
0 33 2 salt [B
0 33 3 log_rounds I
0 33 4 sign_ext_bug Z
0 33 5 safety I
5 33 6 rounds I
10 33 7 i I
17 22 8 j I
25 33 8 j I
1 33 9 cdata [I
2 33 10 clen I
24 33 11 ret [B
MethodParameters:
Name Flags
password
salt
log_rounds
sign_ext_bug
safety
public static java.lang.String hashpw(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 // java.lang.String password
start local 1 // java.lang.String salt
0: .line 575
aload 0 /* password */
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
astore 2 /* passwordb */
start local 2 // byte[] passwordb
1: .line 577
aload 2 /* passwordb */
aload 1 /* salt */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.hashpw:([BLjava/lang/String;)Ljava/lang/String;
areturn
end local 2 // byte[] passwordb
end local 1 // java.lang.String salt
end local 0 // java.lang.String password
LocalVariableTable:
Start End Slot Name Signature
0 2 0 password Ljava/lang/String;
0 2 1 salt Ljava/lang/String;
1 2 2 passwordb [B
MethodParameters:
Name Flags
password
salt
public static java.lang.String hashpw(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=11, args_size=2
start local 0 // byte[] passwordb
start local 1 // java.lang.String salt
0: .line 590
iconst_0
istore 6 /* minor */
start local 6 // char minor
1: .line 592
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 9 /* rs */
start local 9 // java.lang.StringBuilder rs
2: .line 594
aload 1 /* salt */
ifnonnull 4
3: .line 595
new java.lang.IllegalArgumentException
dup
ldc "salt cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: .line 598
StackMap locals: byte[] java.lang.String top top top top int top top java.lang.StringBuilder
StackMap stack:
aload 1 /* salt */
invokevirtual java.lang.String.length:()I
istore 10 /* saltLength */
start local 10 // int saltLength
5: .line 600
iload 10 /* saltLength */
bipush 28
if_icmpge 7
6: .line 601
new java.lang.IllegalArgumentException
dup
ldc "Invalid salt"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: .line 604
StackMap locals: int
StackMap stack:
aload 1 /* salt */
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmpne 8
aload 1 /* salt */
iconst_1
invokevirtual java.lang.String.charAt:(I)C
bipush 50
if_icmpeq 9
8: .line 605
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid salt version"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: .line 607
StackMap locals:
StackMap stack:
aload 1 /* salt */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmpne 12
10: .line 608
iconst_3
istore 8 /* off */
start local 8 // int off
11: .line 609
goto 17
end local 8 // int off
12: .line 611
StackMap locals:
StackMap stack:
aload 1 /* salt */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
istore 6 /* minor */
13: .line 612
iload 6 /* minor */
bipush 97
if_icmpeq 14
iload 6 /* minor */
bipush 120
if_icmpeq 14
iload 6 /* minor */
bipush 121
if_icmpeq 14
iload 6 /* minor */
bipush 98
if_icmpne 15
StackMap locals:
StackMap stack:
14: aload 1 /* salt */
iconst_3
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmpeq 16
15: .line 613
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid salt revision"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
16: .line 615
StackMap locals:
StackMap stack:
iconst_4
istore 8 /* off */
start local 8 // int off
17: .line 619
StackMap locals: byte[] java.lang.String top top top top int top int java.lang.StringBuilder int
StackMap stack:
aload 1 /* salt */
iload 8 /* off */
iconst_2
iadd
invokevirtual java.lang.String.charAt:(I)C
bipush 36
if_icmple 19
18: .line 620
new java.lang.IllegalArgumentException
dup
ldc "Missing salt rounds"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
19: .line 623
StackMap locals:
StackMap stack:
iload 8 /* off */
iconst_4
if_icmpne 21
iload 10 /* saltLength */
bipush 29
if_icmpge 21
20: .line 624
new java.lang.IllegalArgumentException
dup
ldc "Invalid salt"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
21: .line 626
StackMap locals:
StackMap stack:
aload 1 /* salt */
iload 8 /* off */
iload 8 /* off */
iconst_2
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 7 /* rounds */
start local 7 // int rounds
22: .line 628
aload 1 /* salt */
iload 8 /* off */
iconst_3
iadd
iload 8 /* off */
bipush 25
iadd
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3 /* real_salt */
start local 3 // java.lang.String real_salt
23: .line 629
aload 3 /* real_salt */
bipush 16
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.decode_base64:(Ljava/lang/String;I)[B
astore 4 /* saltb */
start local 4 // byte[] saltb
24: .line 631
iload 6 /* minor */
bipush 97
if_icmplt 26
25: .line 632
aload 0 /* passwordb */
aload 0 /* passwordb */
arraylength
iconst_1
iadd
invokestatic java.util.Arrays.copyOf:([BI)[B
astore 0 /* passwordb */
26: .line 635
StackMap locals: byte[] java.lang.String top java.lang.String byte[] top int int int java.lang.StringBuilder int
StackMap stack:
new org.springframework.security.crypto.bcrypt.BCrypt
dup
invokespecial org.springframework.security.crypto.bcrypt.BCrypt.<init>:()V
astore 2 /* B */
start local 2 // org.springframework.security.crypto.bcrypt.BCrypt B
27: .line 636
aload 2 /* B */
aload 0 /* passwordb */
aload 4 /* saltb */
iload 7 /* rounds */
iload 6 /* minor */
bipush 120
if_icmpne 28
iconst_1
goto 29
StackMap locals: byte[] java.lang.String org.springframework.security.crypto.bcrypt.BCrypt java.lang.String byte[] top int int int java.lang.StringBuilder int
StackMap stack: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int
28: iconst_0
StackMap locals: byte[] java.lang.String org.springframework.security.crypto.bcrypt.BCrypt java.lang.String byte[] top int int int java.lang.StringBuilder int
StackMap stack: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int
29: iload 6 /* minor */
bipush 97
if_icmpne 30
ldc 65536
goto 31
StackMap locals: byte[] java.lang.String org.springframework.security.crypto.bcrypt.BCrypt java.lang.String byte[] top int int int java.lang.StringBuilder int
StackMap stack: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int
30: iconst_0
StackMap locals: byte[] java.lang.String org.springframework.security.crypto.bcrypt.BCrypt java.lang.String byte[] top int int int java.lang.StringBuilder int
StackMap stack: org.springframework.security.crypto.bcrypt.BCrypt byte[] byte[] int int int
31: invokevirtual org.springframework.security.crypto.bcrypt.BCrypt.crypt_raw:([B[BIZI)[B
astore 5 /* hashed */
start local 5 // byte[] hashed
32: .line 638
aload 9 /* rs */
ldc "$2"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
33: .line 639
iload 6 /* minor */
bipush 97
if_icmplt 35
34: .line 640
aload 9 /* rs */
iload 6 /* minor */
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
35: .line 642
StackMap locals: byte[] java.lang.String org.springframework.security.crypto.bcrypt.BCrypt java.lang.String byte[] byte[] int int int java.lang.StringBuilder int
StackMap stack:
aload 9 /* rs */
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
36: .line 643
iload 7 /* rounds */
bipush 10
if_icmpge 38
37: .line 644
aload 9 /* rs */
ldc "0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
38: .line 646
StackMap locals:
StackMap stack:
aload 9 /* rs */
iload 7 /* rounds */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
39: .line 647
aload 9 /* rs */
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
40: .line 648
aload 4 /* saltb */
aload 4 /* saltb */
arraylength
aload 9 /* rs */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.encode_base64:([BILjava/lang/StringBuilder;)V
41: .line 649
aload 5 /* hashed */
getstatic org.springframework.security.crypto.bcrypt.BCrypt.bf_crypt_ciphertext:[I
arraylength
iconst_4
imul
iconst_1
isub
aload 9 /* rs */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.encode_base64:([BILjava/lang/StringBuilder;)V
42: .line 650
aload 9 /* rs */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 10 // int saltLength
end local 9 // java.lang.StringBuilder rs
end local 8 // int off
end local 7 // int rounds
end local 6 // char minor
end local 5 // byte[] hashed
end local 4 // byte[] saltb
end local 3 // java.lang.String real_salt
end local 2 // org.springframework.security.crypto.bcrypt.BCrypt B
end local 1 // java.lang.String salt
end local 0 // byte[] passwordb
LocalVariableTable:
Start End Slot Name Signature
0 43 0 passwordb [B
0 43 1 salt Ljava/lang/String;
27 43 2 B Lorg/springframework/security/crypto/bcrypt/BCrypt;
23 43 3 real_salt Ljava/lang/String;
24 43 4 saltb [B
32 43 5 hashed [B
1 43 6 minor C
22 43 7 rounds I
11 12 8 off I
17 43 8 off I
2 43 9 rs Ljava/lang/StringBuilder;
5 43 10 saltLength I
MethodParameters:
Name Flags
passwordb
salt
public static java.lang.String gensalt(java.lang.String, int, java.security.SecureRandom);
descriptor: (Ljava/lang/String;ILjava/security/SecureRandom;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=3
start local 0 // java.lang.String prefix
start local 1 // int log_rounds
start local 2 // java.security.SecureRandom random
0: .line 663
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 3 /* rs */
start local 3 // java.lang.StringBuilder rs
1: .line 664
bipush 16
newarray 8
astore 4 /* rnd */
start local 4 // byte[] rnd
2: .line 666
aload 0 /* prefix */
ldc "$2"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
3: .line 667
aload 0 /* prefix */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 97
if_icmpeq 5
aload 0 /* prefix */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 121
if_icmpeq 5
aload 0 /* prefix */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
bipush 98
if_icmpeq 5
4: .line 668
StackMap locals: java.lang.StringBuilder byte[]
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid prefix"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: .line 670
StackMap locals:
StackMap stack:
iload 1 /* log_rounds */
iconst_4
if_icmplt 6
iload 1 /* log_rounds */
bipush 31
if_icmple 7
6: .line 671
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Invalid log_rounds"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
7: .line 674
StackMap locals:
StackMap stack:
aload 2 /* random */
aload 4 /* rnd */
invokevirtual java.security.SecureRandom.nextBytes:([B)V
8: .line 676
aload 3 /* rs */
ldc "$2"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: .line 677
aload 3 /* rs */
aload 0 /* prefix */
iconst_2
invokevirtual java.lang.String.charAt:(I)C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
10: .line 678
aload 3 /* rs */
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
11: .line 679
iload 1 /* log_rounds */
bipush 10
if_icmpge 13
12: .line 680
aload 3 /* rs */
ldc "0"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
13: .line 682
StackMap locals:
StackMap stack:
aload 3 /* rs */
iload 1 /* log_rounds */
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
14: .line 683
aload 3 /* rs */
ldc "$"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
15: .line 684
aload 4 /* rnd */
aload 4 /* rnd */
arraylength
aload 3 /* rs */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.encode_base64:([BILjava/lang/StringBuilder;)V
16: .line 685
aload 3 /* rs */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 4 // byte[] rnd
end local 3 // java.lang.StringBuilder rs
end local 2 // java.security.SecureRandom random
end local 1 // int log_rounds
end local 0 // java.lang.String prefix
LocalVariableTable:
Start End Slot Name Signature
0 17 0 prefix Ljava/lang/String;
0 17 1 log_rounds I
0 17 2 random Ljava/security/SecureRandom;
1 17 3 rs Ljava/lang/StringBuilder;
2 17 4 rnd [B
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
prefix
log_rounds
random
public static java.lang.String gensalt(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String prefix
start local 1 // int log_rounds
0: .line 697
aload 0 /* prefix */
iload 1 /* log_rounds */
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.gensalt:(Ljava/lang/String;ILjava/security/SecureRandom;)Ljava/lang/String;
areturn
end local 1 // int log_rounds
end local 0 // java.lang.String prefix
LocalVariableTable:
Start End Slot Name Signature
0 1 0 prefix Ljava/lang/String;
0 1 1 log_rounds I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
prefix
log_rounds
public static java.lang.String gensalt(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // int log_rounds
start local 1 // java.security.SecureRandom random
0: .line 709
ldc "$2a"
iload 0 /* log_rounds */
aload 1 /* random */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.gensalt:(Ljava/lang/String;ILjava/security/SecureRandom;)Ljava/lang/String;
areturn
end local 1 // java.security.SecureRandom random
end local 0 // int log_rounds
LocalVariableTable:
Start End Slot Name Signature
0 1 0 log_rounds I
0 1 1 random Ljava/security/SecureRandom;
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
log_rounds
random
public static java.lang.String gensalt(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // int log_rounds
0: .line 720
iload 0 /* log_rounds */
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.gensalt:(ILjava/security/SecureRandom;)Ljava/lang/String;
areturn
end local 0 // int log_rounds
LocalVariableTable:
Start End Slot Name Signature
0 1 0 log_rounds I
Exceptions:
throws java.lang.IllegalArgumentException
MethodParameters:
Name Flags
log_rounds
public static java.lang.String gensalt(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String prefix
0: .line 724
aload 0 /* prefix */
bipush 10
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.gensalt:(Ljava/lang/String;I)Ljava/lang/String;
areturn
end local 0 // java.lang.String prefix
LocalVariableTable:
Start End Slot Name Signature
0 1 0 prefix Ljava/lang/String;
MethodParameters:
Name Flags
prefix
public static java.lang.String gensalt();
descriptor: ()Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 733
bipush 10
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.gensalt:(I)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean checkpw(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String plaintext
start local 1 // java.lang.String hashed
0: .line 743
aload 1 /* hashed */
aload 0 /* plaintext */
aload 1 /* hashed */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.hashpw:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.equalsNoEarlyReturn:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 1 // java.lang.String hashed
end local 0 // java.lang.String plaintext
LocalVariableTable:
Start End Slot Name Signature
0 1 0 plaintext Ljava/lang/String;
0 1 1 hashed Ljava/lang/String;
MethodParameters:
Name Flags
plaintext
hashed
public static boolean checkpw(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // byte[] passwordb
start local 1 // java.lang.String hashed
0: .line 754
aload 1 /* hashed */
aload 0 /* passwordb */
aload 1 /* hashed */
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.hashpw:([BLjava/lang/String;)Ljava/lang/String;
invokestatic org.springframework.security.crypto.bcrypt.BCrypt.equalsNoEarlyReturn:(Ljava/lang/String;Ljava/lang/String;)Z
ireturn
end local 1 // java.lang.String hashed
end local 0 // byte[] passwordb
LocalVariableTable:
Start End Slot Name Signature
0 1 0 passwordb [B
0 1 1 hashed Ljava/lang/String;
MethodParameters:
Name Flags
passwordb
hashed
static boolean equalsNoEarlyReturn(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String a
start local 1 // java.lang.String b
0: .line 758
aload 0 /* a */
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
aload 1 /* b */
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
invokestatic java.security.MessageDigest.isEqual:([B[B)Z
ireturn
end local 1 // java.lang.String b
end local 0 // java.lang.String a
LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Ljava/lang/String;
0 1 1 b Ljava/lang/String;
MethodParameters:
Name Flags
a
b
}
SourceFile: "BCrypt.java"