a.smali
.class public Lcom/ijinshan/pluginslive/plugin/util/a/a;
.super Ljava/lang/Object;
.source "DecryptUtil.java"
# direct methods
.method public static a(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
.registers 6
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
.line 36
:try_start_0
invoke-virtual {p0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
move-result-object v0
invoke-virtual {v0}, Landroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;
move-result-object v0
const-string v1, "plugin_data_public_key.dat"
invoke-virtual {v0, v1}, Landroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
move-result-object v0
.line 37
invoke-static {v0}, Lcom/ijinshan/pluginslive/plugin/util/a/b;->a(Ljava/io/InputStream;)Ljava/security/PublicKey;
move-result-object v0
.line 38
invoke-static {p1, v0}, Lcom/ijinshan/pluginslive/plugin/util/a/a;->a(Ljava/lang/String;Ljava/security/Key;)Ljava/lang/String;
:try_end_15
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_15} :catch_17
move-result-object v0
return-object v0
.line 39
:catch_17
move-exception v0
.line 40
new-instance v1, Ljava/io/UnsupportedEncodingException;
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "decrypt failed : "
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/lang/Exception;->getMessage()Ljava/lang/String;
move-result-object v0
invoke-virtual {v2, v0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
invoke-direct {v1, v0}, Ljava/io/UnsupportedEncodingException;-><init>(Ljava/lang/String;)V
throw v1
.end method
.method private static a(Ljava/lang/String;Ljava/security/Key;)Ljava/lang/String;
.registers 10
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
const/16 v7, 0x80
const/4 v6, 0x0
.line 45
invoke-static {p0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v0
if-eqz v0, :cond_11
new-instance v0, Ljava/io/UnsupportedEncodingException;
const-string v1, "input encrypt string is empty!"
invoke-direct {v0, v1}, Ljava/io/UnsupportedEncodingException;-><init>(Ljava/lang/String;)V
throw v0
.line 47
:cond_11
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
move-result-object v0
const/16 v1, 0x8
invoke-static {v0, v1}, Landroid/util/Base64;->decode([BI)[B
move-result-object v0
.line 48
array-length v1, v0
mul-int/lit8 v1, v1, 0x2
new-array v3, v1, [B
move v1, v6
move v4, v6
.line 52
:goto_22
array-length v2, v0
if-ge v1, v2, :cond_42
.line 53
array-length v2, v0
sub-int/2addr v2, v1
.line 54
if-ge v2, v7, :cond_37
.line 55
:goto_29
instance-of v5, p1, Ljava/security/PrivateKey;
if-eqz v5, :cond_39
move-object v5, p1
.line 56
check-cast v5, Ljava/security/PrivateKey;
invoke-static/range {v0 .. v5}, Lcom/ijinshan/pluginslive/plugin/util/a/b;->a([BII[BILjava/security/PrivateKey;)I
move-result v5
add-int/2addr v4, v5
.line 60
:goto_35
add-int/2addr v1, v2
.line 61
goto :goto_22
:cond_37
move v2, v7
.line 54
goto :goto_29
:cond_39
move-object v5, p1
.line 58
check-cast v5, Ljava/security/PublicKey;
invoke-static/range {v0 .. v5}, Lcom/ijinshan/pluginslive/plugin/util/a/b;->