RSA.smali
.class public Lcom/cleanmaster/commons/RSA;
.super Ljava/lang/Object;
.source "RSA.java"
# static fields
.field private static final DEFAULT_PUBLIC_KEY_ARRAY:[B
# instance fields
.field private publicKey:Ljava/security/interfaces/RSAPublicKey;
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 20
const/16 v0, 0xa2
new-array v0, v0, [B
fill-array-data v0, :array_a
sput-object v0, Lcom/cleanmaster/commons/RSA;->DEFAULT_PUBLIC_KEY_ARRAY:[B
return-void
:array_a
.array-data 1
0x30t
-0x7ft
-0x61t
0x30t
0xdt
0x6t
0x9t
0x2at
-0x7at
0x48t
-0x7at
-0x9t
0xdt
0x1t
0x1t
0x1t
0x5t
0x0t
0x3t
-0x7ft
-0x73t
0x0t
0x30t
-0x7ft
-0x77t
0x2t
-0x7ft
-0x7ft
0x0t
-0x46t
-0x21t
0x4at
-0x62t
-0x4ft
-0x5et
0x1ft
0x73t
0x26t
-0x59t
0x6dt
-0x15t
0x2ct
0x4et
-0x35t
0x25t
-0x40t
0x23t
-0x6at
-0x55t
-0x7bt
-0x7at
0x64t
0x27t
-0x4dt
-0x16t
0x4ft
0x23t
0x3ft
-0x3at
0x51t
0x7dt
-0x5dt
0x42t
-0x24t
-0x14t
0xdt
0x16t
-0x70t
0x5bt
0x2bt
-0x10t
0x1ct
0x6et
-0x7at
-0x5t
0x8t
-0x4ft
0x1at
0x8t
-0x58t
-0x19t
-0x44t
-0x56t
-0x1t
0x56t
0x7ct
0x39t
0x31t
0xat
-0x63t
0x14t
-0x50t
0x5dt
-0x45t
0x17t
-0x75t
0x9t
-0xft
0x3ct
-0x6ft
0x21t
-0x11t
0x49t
0x71t
0x75t
-0xdt
0x69t
-0x51t
-0xat
0x4t
-0x63t
0x75t
-0xdt
0x5et
0x5bt
0x6bt
-0x3t
-0x73t
0x41t
-0x7bt
-0x68t
-0x4ft
0x21t
-0x11t
-0x36t
0x55t
0x1bt
-0x6bt
0x27t
-0x59t
-0x6ft
-0x20t
-0x68t
0x4t
0x5et
-0x34t
-0x79t
0x7ct
0x6ft
0x65t
-0x2ft
0x2bt
0x67t
-0x40t
0x7ct
-0x62t
0x57t
0x54t
-0x43t
-0x7dt
-0x25t
-0x2ft
-0x72t
-0x4et
-0x3et
-0x2dt
-0x2bt
0x2t
0x3t
0x1t
0x0t
0x1t
.end array-data
.end method
.method public constructor <init>()V
.registers 1
.prologue
.line 18
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public encrypt(Ljava/security/interfaces/RSAPublicKey;[B)[B
.registers 5
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 113
if-nez p1, :cond_b
.line 114
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u52a0\u5bc6\u516c\u94a5\u4e3a\u7a7a, \u8bf7\u8bbe\u7f6e"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 118
:cond_b
:try_start_b
const-string v0, "RSA/ECB/PKCS1Padding"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
.line 119
const/4 v1, 0x1
invoke-virtual {v0, v1, p1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
.line 120
invoke-virtual {v0, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_18
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_b .. :try_end_18} :catch_1a
.catch Ljavax/crypto/NoSuchPaddingException; {:try_start_b .. :try_end_18} :catch_24
.catch Ljava/security/InvalidKeyException; {:try_start_b .. :try_end_18} :catch_2a
.catch Ljavax/crypto/IllegalBlockSizeException; {:try_start_b .. :try_end_18} :catch_34
.catch Ljavax/crypto/BadPaddingException; {:try_start_b .. :try_end_18} :catch_3e
move-result-object v0
.line 126
:goto_19
return-object v0
.line 122
:catch_1a
move-exception v0
.line 123
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u65e0\u6b64\u52a0\u5bc6\u7b97\u6cd5"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 124
:catch_24
move-exception v0
.line 125
invoke-virtual {v0}, Ljavax/crypto/NoSuchPaddingException;->printStackTrace()V
.line 126
const/4 v0, 0x0
goto :goto_19
.line 127
:catch_2a
move-exception v0
.line 128
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u52a0\u5bc6\u516c\u94a5\u975e\u6cd5,\u8bf7\u68c0\u67e5"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 129
:catch_34
move-exception v0
.line 130
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u660e\u6587\u957f\u5ea6\u975e\u6cd5"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 131
:catch_3e
move-exception v0
.line 132
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u660e\u6587\u6570\u636e\u5df2\u635f\u574f"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.end method
.method public getPublicKey()Ljava/security/interfaces/RSAPublicKey;
.registers 2
.prologue
.line 71
iget-object v0, p0, Lcom/cleanmaster/commons/RSA;->publicKey:Ljava/security/interfaces/RSAPublicKey;
return-object v0
.end method
.method public init()V
.registers 3
.prologue
.line 98
:try_start_0
sget-object v0, Lcom/cleanmaster/commons/RSA;->DEFAULT_PUBLIC_KEY_ARRAY:[B
invoke-virtual {p0, v0}, Lcom/cleanmaster/commons/RSA;->loadPublicKey([B)V
:try_end_5
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_5} :catch_6
.line 104
:goto_5
return-void
.line 100
:catch_6
move-exception v0
.line 101
sget-object v1, Ljava/lang/System;->err:Ljava/io/PrintStream;
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v1, v0}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V
goto :goto_5
.end method
.method public loadPublicKey([B)V
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/lang/Exception;
}
.end annotation
.prologue
.line 81
.line 82
:try_start_0
const-string v0, "RSA"
invoke-static {v0}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
move-result-object v0
.line 83
new-instance v1, Ljava/security/spec/X509EncodedKeySpec;
invoke-direct {v1, p1}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V
.line 84
invoke-virtual {v0, v1}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
move-result-object v0
check-cast v0, Ljava/security/interfaces/RSAPublicKey;
iput-object v0, p0, Lcom/cleanmaster/commons/RSA;->publicKey:Ljava/security/interfaces/RSAPublicKey;
:try_end_13
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_13} :catch_14
.catch Ljava/security/spec/InvalidKeySpecException; {:try_start_0 .. :try_end_13} :catch_1e
.catch Ljava/lang/NullPointerException; {:try_start_0 .. :try_end_13} :catch_28
.line 92
return-void
.line 85
:catch_14
move-exception v0
.line 86
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u65e0\u6b64\u7b97\u6cd5"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 87
:catch_1e
move-exception v0
.line 88
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u516c\u94a5\u975e\u6cd5"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.line 89
:catch_28
move-exception v0
.line 90
new-instance v0, Ljava/lang/Exception;
const-string/jumbo v1, "\u516c\u94a5\u6570\u636e\u4e3a\u7a7a"
invoke-direct {v0, v1}, Ljava/lang/Exception;-><init>(Ljava/lang/String;)V
throw v0
.end method