1
zj
7 days ago 10e5377841d3ee4439b8012ad305a328076df268
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Êþº¾4÷
”    •
–—
˜™š
ž
Ÿ 
¡¢£
¤¥
¡¦
¡§¨
©ª
«¬­®
¯°±
³´
³µ
³¶ÿÿÿB@
·¸¹
º    ˜»¼
)”½
)¿
ÀÁÂÃÄ
ÀÆ
Çè
ÈÉ
:ÊË
<Í SECRET_SIZEI ConstantValue
SEEDLjava/lang/String;RANDOM_NUMBER_ALGORITHM window_size<init>()VCodeLineNumberTableLocalVariableTablethis)Lcom/nq/service/impl/GoogleAuthenticator;authcode9(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Boolean;codes savedSecretcodeJtgarZMethodParameters    genSecret()Ljava/lang/String;secretgenerateSecretKeybuffer[Bcodec(Lorg/apache/commons/codec/binary/Base32; bEncodedKey
encodedKeysrLjava/security/SecureRandom; StackMapTableάgetQRBarcodeURLJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;userhostformat verify_code([BJ)IikeydatavaluesignKey!Ljavax/crypto/spec/SecretKeySpec;macLjavax/crypto/Mac;hashoffset truncatedHash^°Ï
ExceptionsÐmain1([Ljava/lang/String;)Vargs[Ljava/lang/String; qrBarcodeURLmain setWindowSize(I)Vs
check_code(Ljava/lang/String;JJ)ZeLjava/lang/Exception;timeMsec
decodedKeyšª¨É
SourceFileGoogleAuthenticator.java GH F@Ñ ÒÓÔ ÕÖ'com/nq/service/impl/GoogleAuthenticator …† ˆ‰× ØÙ \ZSHA1PRNGÎ ÚÛLg8GjEvTbW5oVSV7avLBdwIHqGlUYNzKFI7izOF8GwLDVKs2m0QN7vxRs2im5MDaNCWGmcD2rvcZxÜ ÝÞ ßà áâ&org/apache/commons/codec/binary/Base32 ãäjava/lang/String Gà&java/security/NoSuchAlgorithmExceptiondhttps://www.google.com/chart?chs=200x200&chld=M%%7C0&cht=qr&chl=otpauth://totp/%s@%s%%3Fsecret%%3D%sjava/lang/Object låjavax/crypto/spec/SecretKeySpecHmacSHA1 GæÏ Úç èé êä YZtestusertesthost hi ëìjava/lang/StringBuilder
genSecret: íî ïZð ñògetQRBarcodeURL:457999FP72FNKBZHDRWO4W NO ñó ôÞ mnjava/lang/Exception õHjava/lang/RuntimeException öZ Gòjava/security/SecureRandomjavax/crypto/Mac!java/security/InvalidKeyExceptionjava/lang/Long    parseLong(Ljava/lang/String;)Jjava/lang/SystemcurrentTimeMillis()Jjava/lang/BooleanvalueOf(Z)Ljava/lang/Boolean; getInstance0(Ljava/lang/String;)Ljava/security/SecureRandom;&org/apache/commons/codec/binary/Base64 decodeBase64(Ljava/lang/String;)[BsetSeed([B)V generateSeed(I)[Bencode([B)[B9(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;([BLjava/lang/String;)V&(Ljava/lang/String;)Ljavax/crypto/Mac;init(Ljava/security/Key;)VdoFinaloutLjava/io/PrintStream;append-(Ljava/lang/String;)Ljava/lang/StringBuilder;toStringjava/io/PrintStreamprintln(Ljava/lang/String;)V(Ljava/lang/Object;)VdecodeprintStackTrace
getMessage!?@ABCDA EDA F@
GHI8
*·*µ±J
$-K 
LM    NOI›+*¸A¸7»Y·:¶+ ¶6¸    °J23
456%7K>+PD+QD&RS
!TSUM%VWX    PQ    YZI4¸
K*°J
;=K [D    \ZIÉ6K ¸ K* ¸¶*
¶L»Y·M,+¶N»Y-·:°L°23J*
ACDEF G&H0I3J4MK4]^ _`& a^0bD4cdeÿ3fg    hiIdN-½Y*SY+SY,S¸°J
QRK*jDkD[DlDX jk[
mnI” ‘¼N76„ÿž-ˆ‘T}7§ÿé»Y*·:¸:¶-¶:3~6        7
6  ¢"
y7
 
     `3ÿ~…7
„ §ÿÞ
 7
 
"q7
 
ˆ¬JJVWXYX&[2\9]@^H_RaUb^cefwb}h…ijKp o@X%o@ ‘p^‘TSŒq^‰rS2_st9XuvHIw^R?x@    U<yS
e+þ zúÿ1
zz{|zú$}~X    pT    €IŽ@¸$L%&+¸'M²(»)Y·*+¶,+¶,¶-¶.²(»)Y·*/¶,,¶,¶-¶.±Jno p&q?tK @‚<[D 3ƒDX    „€I<²(01¸2¶3±J
w xK ‚X…†IV¡£*µ±J{ |}KLM‡@eX‡ˆ‰IVc»Y·:+¶4:5m7m7*´t6
 
*´£7
…a¸9…7 §:  ¶;»<Y ¶=·>¿  ”š¬„
§ÿƬ-;>:J6 €    „‡-Š;‘>‹@ŽER’Y“[‡a—Kp ;wS @Š‹ R    wS $=o@
cLMc[DcRScŒS    Z_`R^FTSe'ÿ$ŽzY‘üúúX [RŒ’“