cfd.smali
.class public Ldxoptimizer/cfd;
.super Ljava/lang/Object;
.source "TapasTripleDesUtils.java"
# direct methods
.method public static a(Ljava/lang/String;JLjava/lang/String;)Ljava/lang/String;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
.line 21
invoke-static {p1, p2}, Ldxoptimizer/cfd;->a(J)[B
move-result-object v0
.line 22
const-string v1, "utf-8"
invoke-virtual {p0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
const-string v2, "utf-8"
invoke-virtual {p3, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-static {v1, v0, v2}, Ldxoptimizer/cfd;->a([B[B[B)[B
move-result-object v0
.line 23
const/4 v1, 0x0
invoke-static {v0, v1}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public static a(I)[B
.registers 3
.prologue
.line 94
new-array v0, p0, [B
.line 95
new-instance v1, Ljava/security/SecureRandom;
invoke-direct {v1}, Ljava/security/SecureRandom;-><init>()V
.line 96
invoke-virtual {v1, v0}, Ljava/security/SecureRandom;->nextBytes([B)V
.line 97
return-object v0
.end method
.method public static a(J)[B
.registers 4
.prologue
.line 87
const/16 v0, 0x8
invoke-static {v0}, Ljava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
move-result-object v0
.line 88
sget-object v1, Ljava/nio/ByteOrder;->BIG_ENDIAN:Ljava/nio/ByteOrder;
invoke-virtual {v0, v1}, Ljava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
.line 89
invoke-virtual {v0, p0, p1}, Ljava/nio/ByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
.line 90
invoke-virtual {v0}, Ljava/nio/ByteBuffer;->array()[B
move-result-object v0
return-object v0
.end method
.method public static a([B[B[B)[B
.registers 7
.prologue
.line 36
.line 38
:try_start_0
const-string v0, "DESede/CBC/PKCS5Padding"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
.line 39
const-string v1, "DESede"
invoke-static {v1}, Ljavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
move-result-object v1
.line 40
new-instance v2, Ljavax/crypto/spec/DESedeKeySpec;
invoke-direct {v2, p0}, Ljavax/crypto/spec/DESedeKeySpec;-><init>([B)V
invoke-virtual {v1, v2}, Ljavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
move-result-object v1
.line 41
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v2, p1}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
.line 42
const/4 v3, 0x1
invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 44
invoke-virtual {v0, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_21
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_21} :catch_23
move-result-object v0
.line 49
return-object v0
.line 45
:catch_23
move-exception v0
.line 46
new-instance v1, Ljava/lang/SecurityException;
invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
throw v1
.end method
.method public static b(Ljava/lang/String;JLjava/lang/String;)Ljava/lang/String;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
.line 70
invoke-static {p1, p2}, Ldxoptimizer/cfd;->a(J)[B
move-result-object v0
.line 71
const-string v1, "utf-8"
invoke-virtual {p0, v1}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v1
const-string v2, "utf-8"
invoke-virtual {p3, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-static {v1, v0, v2}, Ldxoptimizer/cfd;->a([B[B[B)[B
move-result-object v0
.line 72
const/4 v1, 0x0
invoke-static {v0, v1}, Landroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method static b([B[B[B)[B
.registers 7
.prologue
.line 53
.line 55
:try_start_0
const-string v0, "DESede/CBC/PKCS5Padding"
invoke-static {v0}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
move-result-object v0
.line 56
const-string v1, "DESede"
invoke-static {v1}, Ljavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
move-result-object v1
.line 57
new-instance v2, Ljavax/crypto/spec/DESedeKeySpec;
invoke-direct {v2, p0}, Ljavax/crypto/spec/DESedeKeySpec;-><init>([B)V
invoke-virtual {v1, v2}, Ljavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
move-result-object v1
.line 58
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
invoke-direct {v2, p1}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
.line 59
const/4 v3, 0x2
invoke-virtual {v0, v3, v1, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
.line 61
invoke-virtual {v0, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
:try_end_21
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_21} :catch_23
move-result-object v0
.line 66
return-object v0
.line 62
:catch_23
move-exception v0
.line 63
new-instance v1, Ljava/lang/SecurityException;
invoke-direct {v1, v0}, Ljava/lang/SecurityException;-><init>(Ljava/lang/Throwable;)V
throw v1
.end method
.method public static c(Ljava/lang/String;JLjava/lang/String;)Ljava/lang/String;
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
.line 76
invoke-static {p0, p1, p2, p3}, Ldxoptimizer/cfd;->d(Ljava/lang/String;JLjava/lang/String;)[B
move-result-object v0
.line 77
new-instance v1, Ljava/lang/String;
const-string v2, "utf-8"
invoke-direct {v1, v0, v2}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
return-object v1
.end method
.method public static d(Ljava/lang/String;JLjava/lang/String;)[B
.registers 7
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/io/UnsupportedEncodingException;
}
.end annotation
.prologue
.line 81
invoke-static {p1, p2}, Ldxoptimizer/cfd;->a(J)[B
move-result-object v0
.line 82
const/4 v1, 0x0
invoke-static {p3, v1}, Landroid/util/Base64;->decode(Ljava/lang/String;I)[B
move-result-object v1
.line 83
const-string v2, "utf-8"
invoke-virtual {p0, v2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object v2
invoke-static {v2, v0, v1}, Ldxoptimizer/cfd;->b([B[B[B)[B
move-result-object v0
return-object v0
.end method