e.smali
.class public final Lcom/huawei/updatesdk/support/f/e;
.super Ljava/lang/Object;
# static fields
.field private static a:Lcom/huawei/updatesdk/support/f/e;
# direct methods
.method static constructor <clinit>()V
.registers 1
new-instance v0, Lcom/huawei/updatesdk/support/f/e;
invoke-direct {v0}, Lcom/huawei/updatesdk/support/f/e;-><init>()V
sput-object v0, Lcom/huawei/updatesdk/support/f/e;->a:Lcom/huawei/updatesdk/support/f/e;
return-void
.end method
.method private constructor <init>()V
.registers 1
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static a()Lcom/huawei/updatesdk/support/f/e;
.registers 1
sget-object v0, Lcom/huawei/updatesdk/support/f/e;->a:Lcom/huawei/updatesdk/support/f/e;
return-object v0
.end method
.method public static b()Ljava/lang/String;
.registers 1
.annotation build Landroid/annotation/SuppressLint;
value = {
"TrulyRandom"
}
.end annotation
invoke-static {}, Lcom/huawei/updatesdk/sdk/a/c/a/c;->b()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method private static c(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 9
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
const-string v0, "UTF-8"
invoke-virtual {p0, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
const-string v0, "UTF-8"
invoke-virtual {p1, v0}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
array-length v2, v1
array-length v3, v0
if-lt v2, v3, :cond_22
:goto_10
array-length v2, v1
new-array v3, v2, [B
const/4 v2, 0x0
:goto_14
array-length v4, v0
if-ge v2, v4, :cond_26
aget-byte v4, v0, v2
aget-byte v5, v1, v2
xor-int/2addr v4, v5
int-to-byte v4, v4
aput-byte v4, v3, v2
add-int/lit8 v2, v2, 0x1
goto :goto_14
:cond_22
move-object v6, v1
move-object v1, v0
move-object v0, v6
goto :goto_10
:cond_26
:goto_26
array-length v0, v1
if-ge v2, v0, :cond_30
aget-byte v0, v1, v2
aput-byte v0, v3, v2
add-int/lit8 v2, v2, 0x1
goto :goto_26
:cond_30
new-instance v0, Ljava/lang/String;
const-string v1, "UTF-8"
invoke-direct {v0, v3, v1}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
return-object v0
.end method
.method public static c()[B
.registers 2
:try_start_0
const-string v0, "SHA1PRNG"
invoke-static {v0}, Ljava/security/SecureRandom;->getInstance(Ljava/lang/String;)Ljava/security/SecureRandom;
:try_end_5
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_5} :catch_e
move-result-object v1
const/16 v0, 0x8
new-array v0, v0, [B
invoke-virtual {v1, v0}, Ljava/security/SecureRandom;->nextBytes([B)V
:goto_d
return-object v0
:catch_e
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v1, "getSaltByte NoSuchAlgorithmException "
invoke-static {v0, v1}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
invoke-static {}, Lcom/huawei/updatesdk/sdk/a/c/a/c;->d()[B
move-result-object v0
goto :goto_d
.end method
.method public static d()[B
.registers 1
invoke-static {}, Lcom/huawei/updatesdk/sdk/a/c/a/c;->c()[B
move-result-object v0
return-object v0
.end method
.method public static e()[B
.registers 4
:try_start_0
invoke-static {}, Lcom/huawei/updatesdk/support/f/e;->f()Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
:try_end_9
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_9} :catch_b
move-result-object v0
:goto_a
return-object v0
:catch_b
move-exception v0
const-string v1, "SecurityEncrypt"
new-instance v2, Ljava/lang/StringBuilder;
invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V
const-string v3, "getKeySeedBytes error:"
invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
invoke-virtual {v0}, Ljava/io/UnsupportedEncodingException;->toString()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-static {v1, v0}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
const/4 v0, 0x0
goto :goto_a
.end method
.method private static f()Ljava/lang/String;
.registers 4
const-string v1, ""
:try_start_2
const-string v0, "Ds4*%"
const-string v2, "3Lj*8"
invoke-static {v0, v2}, Lcom/huawei/updatesdk/support/f/e;->c(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
const-string v2, "#dM^%9"
invoke-static {v0, v2}, Lcom/huawei/updatesdk/support/f/e;->c(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {}, Lcom/huawei/updatesdk/service/a/b;->a()Lcom/huawei/updatesdk/service/a/b;
move-result-object v2
invoke-virtual {v2}, Lcom/huawei/updatesdk/service/a/b;->b()Ljava/lang/String;
move-result-object v2
invoke-static {v2}, Lcom/huawei/updatesdk/sdk/a/c/a;->a(Ljava/lang/String;)[B
move-result-object v2
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
invoke-static {v0, v2}, Lcom/huawei/updatesdk/sdk/a/c/a/c;->a([C[B)[B
move-result-object v2
new-instance v0, Ljava/lang/String;
const-string v3, "UTF-8"
invoke-direct {v0, v2, v3}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
:try_end_2b
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_2 .. :try_end_2b} :catch_2c
.catch Ljava/security/spec/InvalidKeySpecException; {:try_start_2 .. :try_end_2b} :catch_36
.catch Ljava/io/UnsupportedEncodingException; {:try_start_2 .. :try_end_2b} :catch_40
:goto_2b
return-object v0
:catch_2c
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v2, "getKeySeed NoSuchAlgorithmException "
invoke-static {v0, v2}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
goto :goto_2b
:catch_36
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v2, "getKeySeed InvalidKeySpecException "
invoke-static {v0, v2}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
goto :goto_2b
:catch_40
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v2, "getKeySeed UnsupportedEncodingException "
invoke-static {v0, v2}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->c(Ljava/lang/String;Ljava/lang/String;)V
move-object v0, v1
goto :goto_2b
.end method
# virtual methods
.method public a(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 5
:try_start_0
invoke-static {}, Lcom/huawei/updatesdk/service/a/b;->a()Lcom/huawei/updatesdk/service/a/b;
move-result-object v0
invoke-virtual {v0}, Lcom/huawei/updatesdk/service/a/b;->m()Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-static {p2}, Lcom/huawei/updatesdk/sdk/a/c/a;->a(Ljava/lang/String;)[B
move-result-object v1
invoke-static {p1, v0, v1}, Lcom/huawei/updatesdk/sdk/a/c/a/a;->a(Ljava/lang/String;[B[B)Ljava/lang/String;
:try_end_15
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_15} :catch_17
move-result-object p1
:goto_16
return-object p1
:catch_17
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v1, "encrypt failed."
invoke-static {v0, v1}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_16
.end method
.method public b(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 5
:try_start_0
invoke-static {}, Lcom/huawei/updatesdk/service/a/b;->a()Lcom/huawei/updatesdk/service/a/b;
move-result-object v0
invoke-virtual {v0}, Lcom/huawei/updatesdk/service/a/b;->m()Ljava/lang/String;
move-result-object v0
const-string v1, "UTF-8"
invoke-virtual {v0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v0
invoke-static {p2}, Lcom/huawei/updatesdk/sdk/a/c/a;->a(Ljava/lang/String;)[B
move-result-object v1
invoke-static {p1, v0, v1}, Lcom/huawei/updatesdk/sdk/a/c/a/a;->b(Ljava/lang/String;[B[B)Ljava/lang/String;
:try_end_15
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_15} :catch_17
move-result-object p1
:goto_16
return-object p1
:catch_17
move-exception v0
const-string v0, "SecurityEncrypt"
const-string v1, "decrypt failed."
invoke-static {v0, v1}, Lcom/huawei/updatesdk/sdk/a/b/a/a/a;->d(Ljava/lang/String;Ljava/lang/String;)V
goto :goto_16
.end method