90 lines
2.1 KiB
Smali
90 lines
2.1 KiB
Smali
.class public Lcom/moji/encode/DESUtil;
|
|
.super Ljava/lang/Object;
|
|
.source "DESUtil.java"
|
|
|
|
|
|
# direct methods
|
|
.method public constructor <init>()V
|
|
.locals 0
|
|
|
|
.line 14
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
return-void
|
|
.end method
|
|
|
|
.method public static a(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 4
|
|
.annotation system Ldalvik/annotation/Throws;
|
|
value = {
|
|
Ljava/lang/Exception;
|
|
}
|
|
.end annotation
|
|
|
|
.line 53
|
|
new-instance v0, Ljavax/crypto/spec/DESedeKeySpec;
|
|
|
|
const-string v1, "mojijssdk11@201508#090#$"
|
|
|
|
invoke-virtual {v1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object v1
|
|
|
|
invoke-direct {v0, v1}, Ljavax/crypto/spec/DESedeKeySpec;-><init>([B)V
|
|
|
|
const-string v1, "desede"
|
|
|
|
.line 54
|
|
invoke-static {v1}, Ljavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
|
|
|
|
move-result-object v1
|
|
|
|
.line 55
|
|
invoke-virtual {v1, v0}, Ljavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
|
|
|
|
move-result-object v0
|
|
|
|
const-string v1, "desede/CBC/PKCS5Padding"
|
|
|
|
.line 56
|
|
invoke-static {v1}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
|
|
|
|
move-result-object v1
|
|
|
|
.line 57
|
|
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
|
|
|
|
const-string v3, "01234567"
|
|
|
|
invoke-virtual {v3}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object v3
|
|
|
|
invoke-direct {v2, v3}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
|
|
|
|
const/4 v3, 0x2
|
|
|
|
.line 58
|
|
invoke-virtual {v1, v3, v0, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 59
|
|
invoke-static {p0, v0}, Lcom/moji/encode/Base64;->a(Ljava/lang/String;I)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {v1, p0}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
.line 61
|
|
new-instance v0, Ljava/lang/String;
|
|
|
|
const-string v1, "utf-8"
|
|
|
|
invoke-direct {v0, p0, v1}, Ljava/lang/String;-><init>([BLjava/lang/String;)V
|
|
|
|
return-object v0
|
|
.end method
|