2319 lines
47 KiB
Smali
2319 lines
47 KiB
Smali
.class public final Lcom/blankj/utilcode/util/EncryptUtils;
|
|
.super Ljava/lang/Object;
|
|
.source "EncryptUtils.java"
|
|
|
|
|
|
# direct methods
|
|
.method private constructor <init>()V
|
|
.locals 2
|
|
|
|
.line 36
|
|
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
|
|
|
|
.line 37
|
|
new-instance v0, Ljava/lang/UnsupportedOperationException;
|
|
|
|
const-string v1, "u can\'t instantiate me..."
|
|
|
|
invoke-direct {v0, v1}, Ljava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw v0
|
|
.end method
|
|
|
|
.method public static decrypt3DES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "DESede"
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 817
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptAES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "AES"
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 923
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptBase64AES([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 889
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Decode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptAES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptBase64DES([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 677
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Decode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptDES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptBase64RSA([B[BILjava/lang/String;)[B
|
|
.locals 0
|
|
|
|
.line 1031
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Decode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptRSA([B[BILjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptBase64_3DES([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 783
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Decode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decrypt3DES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptDES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "DES"
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 711
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptHexString3DES(Ljava/lang/String;[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 800
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->hexString2Bytes(Ljava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decrypt3DES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptHexStringAES(Ljava/lang/String;[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 906
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->hexString2Bytes(Ljava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptAES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptHexStringDES(Ljava/lang/String;[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 694
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->hexString2Bytes(Ljava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptDES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptHexStringRSA(Ljava/lang/String;[BILjava/lang/String;)[B
|
|
.locals 0
|
|
|
|
.line 1047
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->hexString2Bytes(Ljava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->decryptRSA([B[BILjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static decryptRSA([B[BILjava/lang/String;)[B
|
|
.locals 1
|
|
|
|
const/4 v0, 0x0
|
|
|
|
.line 1063
|
|
invoke-static {p0, p1, p2, p3, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->rsaTemplate([B[BILjava/lang/String;Z)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encrypt3DES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "DESede"
|
|
|
|
const/4 v5, 0x1
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 766
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encrypt3DES2Base64([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 732
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encrypt3DES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Encode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encrypt3DES2HexString([B[BLjava/lang/String;[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 749
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encrypt3DES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptAES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "AES"
|
|
|
|
const/4 v5, 0x1
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 872
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptAES2Base64([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 838
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptAES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Encode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptAES2HexString([B[BLjava/lang/String;[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 855
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptAES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptDES([B[BLjava/lang/String;[B)[B
|
|
.locals 6
|
|
|
|
const-string v2, "DES"
|
|
|
|
const/4 v5, 0x1
|
|
|
|
move-object v0, p0
|
|
|
|
move-object v1, p1
|
|
|
|
move-object v3, p2
|
|
|
|
move-object v4, p3
|
|
|
|
.line 660
|
|
invoke-static/range {v0 .. v5}, Lcom/blankj/utilcode/util/EncryptUtils;->symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptDES2Base64([B[BLjava/lang/String;[B)[B
|
|
.locals 0
|
|
|
|
.line 626
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptDES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Encode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptDES2HexString([B[BLjava/lang/String;[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 643
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptDES([B[BLjava/lang/String;[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacMD5([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacMD5"
|
|
|
|
.line 412
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacMD5ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 389
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 390
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacMD5ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacMD5ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 401
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacMD5([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA1([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacSHA1"
|
|
|
|
.line 446
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA1ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 423
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 424
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA1ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA1ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 435
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA1([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA224([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacSHA224"
|
|
|
|
.line 480
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA224ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 457
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 458
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA224ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA224ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 469
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA224([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA256([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacSHA256"
|
|
|
|
.line 514
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA256ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 491
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 492
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA256ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA256ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 503
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA256([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA384([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacSHA384"
|
|
|
|
.line 548
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA384ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 525
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 526
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA384ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA384ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 537
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA384([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA512([B[B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "HmacSHA512"
|
|
|
|
.line 582
|
|
invoke-static {p0, p1, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hmacTemplate([B[BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA512ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 559
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 560
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p1
|
|
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA512ToString([B[B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptHmacSHA512ToString([B[B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 571
|
|
invoke-static {p0, p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptHmacSHA512([B[B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD2([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "MD2"
|
|
|
|
.line 72
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD2ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 51
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 52
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD2ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD2ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 62
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD2([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "MD5"
|
|
|
|
.line 134
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5File(Ljava/io/File;)[B
|
|
.locals 4
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
return-object v0
|
|
|
|
.line 180
|
|
:cond_0
|
|
:try_start_0
|
|
new-instance v1, Ljava/io/FileInputStream;
|
|
|
|
invoke-direct {v1, p0}, Ljava/io/FileInputStream;-><init>(Ljava/io/File;)V
|
|
:try_end_0
|
|
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_4
|
|
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_3
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
:try_start_1
|
|
const-string p0, "MD5"
|
|
|
|
.line 181
|
|
invoke-static {p0}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
|
|
|
|
move-result-object p0
|
|
|
|
.line 182
|
|
new-instance v2, Ljava/security/DigestInputStream;
|
|
|
|
invoke-direct {v2, v1, p0}, Ljava/security/DigestInputStream;-><init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
|
|
|
|
const/high16 p0, 0x40000
|
|
|
|
new-array p0, p0, [B
|
|
|
|
.line 185
|
|
:cond_1
|
|
invoke-virtual {v2, p0}, Ljava/security/DigestInputStream;->read([B)I
|
|
|
|
move-result v3
|
|
|
|
if-gtz v3, :cond_1
|
|
|
|
.line 187
|
|
invoke-virtual {v2}, Ljava/security/DigestInputStream;->getMessageDigest()Ljava/security/MessageDigest;
|
|
|
|
move-result-object p0
|
|
|
|
.line 188
|
|
invoke-virtual {p0}, Ljava/security/MessageDigest;->digest()[B
|
|
|
|
move-result-object p0
|
|
:try_end_1
|
|
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_1 .. :try_end_1} :catch_2
|
|
.catch Ljava/io/IOException; {:try_start_1 .. :try_end_1} :catch_1
|
|
.catchall {:try_start_1 .. :try_end_1} :catchall_1
|
|
|
|
.line 195
|
|
:try_start_2
|
|
invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
|
|
:try_end_2
|
|
.catch Ljava/io/IOException; {:try_start_2 .. :try_end_2} :catch_0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_0
|
|
move-exception v0
|
|
|
|
.line 198
|
|
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
|
|
|
|
:goto_0
|
|
return-object p0
|
|
|
|
:catch_1
|
|
move-exception p0
|
|
|
|
goto :goto_2
|
|
|
|
:catch_2
|
|
move-exception p0
|
|
|
|
goto :goto_2
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
goto :goto_4
|
|
|
|
:catch_3
|
|
move-exception p0
|
|
|
|
goto :goto_1
|
|
|
|
:catch_4
|
|
move-exception p0
|
|
|
|
:goto_1
|
|
move-object v1, v0
|
|
|
|
.line 190
|
|
:goto_2
|
|
:try_start_3
|
|
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
|
|
:try_end_3
|
|
.catchall {:try_start_3 .. :try_end_3} :catchall_1
|
|
|
|
if-eqz v1, :cond_2
|
|
|
|
.line 195
|
|
:try_start_4
|
|
invoke-virtual {v1}, Ljava/io/FileInputStream;->close()V
|
|
:try_end_4
|
|
.catch Ljava/io/IOException; {:try_start_4 .. :try_end_4} :catch_5
|
|
|
|
goto :goto_3
|
|
|
|
:catch_5
|
|
move-exception p0
|
|
|
|
.line 198
|
|
invoke-virtual {p0}, Ljava/io/IOException;->printStackTrace()V
|
|
|
|
:cond_2
|
|
:goto_3
|
|
return-object v0
|
|
|
|
:catchall_1
|
|
move-exception p0
|
|
|
|
move-object v0, v1
|
|
|
|
:goto_4
|
|
if-eqz v0, :cond_3
|
|
|
|
.line 195
|
|
:try_start_5
|
|
invoke-virtual {v0}, Ljava/io/FileInputStream;->close()V
|
|
:try_end_5
|
|
.catch Ljava/io/IOException; {:try_start_5 .. :try_end_5} :catch_6
|
|
|
|
goto :goto_5
|
|
|
|
:catch_6
|
|
move-exception v0
|
|
|
|
.line 198
|
|
invoke-virtual {v0}, Ljava/io/IOException;->printStackTrace()V
|
|
|
|
.line 200
|
|
:cond_3
|
|
:goto_5
|
|
throw p0
|
|
.end method
|
|
|
|
.method public static encryptMD5File(Ljava/lang/String;)[B
|
|
.locals 1
|
|
|
|
.line 155
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->isSpace(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
new-instance v0, Ljava/io/File;
|
|
|
|
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
move-object p0, v0
|
|
|
|
.line 156
|
|
:goto_0
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5File(Ljava/io/File;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5File2String(Ljava/io/File;)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 166
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5File(Ljava/io/File;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5File2String(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
.line 144
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->isSpace(Ljava/lang/String;)Z
|
|
|
|
move-result v0
|
|
|
|
if-eqz v0, :cond_0
|
|
|
|
const/4 p0, 0x0
|
|
|
|
goto :goto_0
|
|
|
|
:cond_0
|
|
new-instance v0, Ljava/io/File;
|
|
|
|
invoke-direct {v0, p0}, Ljava/io/File;-><init>(Ljava/lang/String;)V
|
|
|
|
move-object p0, v0
|
|
|
|
.line 145
|
|
:goto_0
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5File2String(Ljava/io/File;)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 82
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 83
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5ToString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
|
|
:cond_0
|
|
if-nez p1, :cond_1
|
|
|
|
.line 95
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
if-nez p0, :cond_2
|
|
|
|
.line 96
|
|
invoke-virtual {p1}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
.line 97
|
|
:cond_2
|
|
new-instance v0, Ljava/lang/StringBuilder;
|
|
|
|
invoke-direct {v0}, Ljava/lang/StringBuilder;-><init>()V
|
|
|
|
invoke-virtual {v0, p0}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0, p1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 107
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptMD5ToString([B[B)Ljava/lang/String;
|
|
.locals 3
|
|
|
|
if-nez p0, :cond_0
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
|
|
:cond_0
|
|
if-nez p1, :cond_1
|
|
|
|
.line 119
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
if-nez p0, :cond_2
|
|
|
|
.line 120
|
|
invoke-static {p1}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
.line 121
|
|
:cond_2
|
|
array-length v0, p0
|
|
|
|
array-length v1, p1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
new-array v0, v0, [B
|
|
|
|
.line 122
|
|
array-length v1, p0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
invoke-static {p0, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
.line 123
|
|
array-length p0, p0
|
|
|
|
array-length v1, p1
|
|
|
|
invoke-static {p1, v2, v0, p0, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
.line 124
|
|
invoke-static {v0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptMD5([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptRSA([B[BILjava/lang/String;)[B
|
|
.locals 1
|
|
|
|
const/4 v0, 0x1
|
|
|
|
.line 1015
|
|
invoke-static {p0, p1, p2, p3, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->rsaTemplate([B[BILjava/lang/String;Z)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptRSA2Base64([B[BILjava/lang/String;)[B
|
|
.locals 0
|
|
|
|
.line 983
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptRSA([B[BILjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->base64Encode([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptRSA2HexString([B[BILjava/lang/String;)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 999
|
|
invoke-static {p0, p1, p2, p3}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptRSA([B[BILjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA1([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "SHA-1"
|
|
|
|
.line 231
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA1ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 210
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 211
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA1ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA1ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 221
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA1([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA224([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "SHA224"
|
|
|
|
.line 262
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA224ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 241
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 242
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA224ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA224ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 252
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA224([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA256([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "SHA-256"
|
|
|
|
.line 293
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA256ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 272
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 273
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA256ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA256ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 283
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA256([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA384([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "SHA-384"
|
|
|
|
.line 324
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA384ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 303
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 304
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA384ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA384ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 314
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA384([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA512([B)[B
|
|
.locals 1
|
|
|
|
const-string v0, "SHA-512"
|
|
|
|
.line 355
|
|
invoke-static {p0, v0}, Lcom/blankj/utilcode/util/EncryptUtils;->hashTemplate([BLjava/lang/String;)[B
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA512ToString(Ljava/lang/String;)Ljava/lang/String;
|
|
.locals 1
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 334
|
|
invoke-virtual {p0}, Ljava/lang/String;->length()I
|
|
|
|
move-result v0
|
|
|
|
if-nez v0, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 335
|
|
:cond_0
|
|
invoke-virtual {p0}, Ljava/lang/String;->getBytes()[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA512ToString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
|
|
:cond_1
|
|
:goto_0
|
|
const-string p0, ""
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method public static encryptSHA512ToString([B)Ljava/lang/String;
|
|
.locals 0
|
|
|
|
.line 345
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/EncryptUtils;->encryptSHA512([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {p0}, Lcom/blankj/utilcode/util/UtilsBridge;->bytes2HexString([B)Ljava/lang/String;
|
|
|
|
move-result-object p0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method static hashTemplate([BLjava/lang/String;)[B
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 366
|
|
array-length v1, p0
|
|
|
|
if-gtz v1, :cond_0
|
|
|
|
goto :goto_0
|
|
|
|
.line 368
|
|
:cond_0
|
|
:try_start_0
|
|
invoke-static {p1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
|
|
|
|
move-result-object p1
|
|
|
|
.line 369
|
|
invoke-virtual {p1, p0}, Ljava/security/MessageDigest;->update([B)V
|
|
|
|
.line 370
|
|
invoke-virtual {p1}, Ljava/security/MessageDigest;->digest()[B
|
|
|
|
move-result-object p0
|
|
:try_end_0
|
|
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return-object p0
|
|
|
|
:catch_0
|
|
move-exception p0
|
|
|
|
.line 372
|
|
invoke-virtual {p0}, Ljava/security/NoSuchAlgorithmException;->printStackTrace()V
|
|
|
|
:cond_1
|
|
:goto_0
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private static hmacTemplate([B[BLjava/lang/String;)[B
|
|
.locals 2
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p0, :cond_1
|
|
|
|
.line 596
|
|
array-length v1, p0
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
if-eqz p1, :cond_1
|
|
|
|
array-length v1, p1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
goto :goto_1
|
|
|
|
.line 598
|
|
:cond_0
|
|
:try_start_0
|
|
new-instance v1, Ljavax/crypto/spec/SecretKeySpec;
|
|
|
|
invoke-direct {v1, p1, p2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
|
|
|
|
.line 599
|
|
invoke-static {p2}, Ljavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
|
|
|
|
move-result-object p1
|
|
|
|
.line 600
|
|
invoke-virtual {p1, v1}, Ljavax/crypto/Mac;->init(Ljava/security/Key;)V
|
|
|
|
.line 601
|
|
invoke-virtual {p1, p0}, Ljavax/crypto/Mac;->doFinal([B)[B
|
|
|
|
move-result-object p0
|
|
:try_end_0
|
|
.catch Ljava/security/InvalidKeyException; {:try_start_0 .. :try_end_0} :catch_1
|
|
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
return-object p0
|
|
|
|
:catch_0
|
|
move-exception p0
|
|
|
|
goto :goto_0
|
|
|
|
:catch_1
|
|
move-exception p0
|
|
|
|
.line 603
|
|
:goto_0
|
|
invoke-virtual {p0}, Ljava/security/GeneralSecurityException;->printStackTrace()V
|
|
|
|
:cond_1
|
|
:goto_1
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private static joins([B[B)[B
|
|
.locals 3
|
|
|
|
.line 1179
|
|
array-length v0, p0
|
|
|
|
array-length v1, p1
|
|
|
|
add-int/2addr v0, v1
|
|
|
|
new-array v0, v0, [B
|
|
|
|
.line 1180
|
|
array-length v1, p0
|
|
|
|
const/4 v2, 0x0
|
|
|
|
invoke-static {p0, v2, v0, v2, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
.line 1181
|
|
array-length p0, p0
|
|
|
|
array-length v1, p1
|
|
|
|
invoke-static {p1, v2, v0, p0, v1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
return-object v0
|
|
.end method
|
|
|
|
.method public static rc4([B[B)[B
|
|
.locals 8
|
|
|
|
if-eqz p0, :cond_5
|
|
|
|
.line 1143
|
|
array-length v0, p0
|
|
|
|
if-eqz v0, :cond_5
|
|
|
|
if-nez p1, :cond_0
|
|
|
|
goto :goto_3
|
|
|
|
.line 1144
|
|
:cond_0
|
|
array-length v0, p1
|
|
|
|
const/4 v1, 0x1
|
|
|
|
if-lt v0, v1, :cond_4
|
|
|
|
array-length v0, p1
|
|
|
|
const/16 v2, 0x100
|
|
|
|
if-gt v0, v2, :cond_4
|
|
|
|
new-array v0, v2, [B
|
|
|
|
new-array v3, v2, [B
|
|
|
|
.line 1149
|
|
array-length v4, p1
|
|
|
|
const/4 v5, 0x0
|
|
|
|
move v6, v5
|
|
|
|
:goto_0
|
|
if-ge v6, v2, :cond_1
|
|
|
|
int-to-byte v7, v6
|
|
|
|
.line 1151
|
|
aput-byte v7, v0, v6
|
|
|
|
.line 1152
|
|
rem-int v7, v6, v4
|
|
|
|
aget-byte v7, p1, v7
|
|
|
|
aput-byte v7, v3, v6
|
|
|
|
add-int/lit8 v6, v6, 0x1
|
|
|
|
goto :goto_0
|
|
|
|
:cond_1
|
|
move p1, v5
|
|
|
|
move v4, p1
|
|
|
|
:goto_1
|
|
if-ge p1, v2, :cond_2
|
|
|
|
.line 1157
|
|
aget-byte v6, v0, p1
|
|
|
|
add-int/2addr v4, v6
|
|
|
|
aget-byte v6, v3, p1
|
|
|
|
add-int/2addr v4, v6
|
|
|
|
and-int/lit16 v4, v4, 0xff
|
|
|
|
.line 1158
|
|
aget-byte v6, v0, v4
|
|
|
|
.line 1159
|
|
aget-byte v7, v0, p1
|
|
|
|
aput-byte v7, v0, v4
|
|
|
|
.line 1160
|
|
aput-byte v6, v0, p1
|
|
|
|
add-int/lit8 p1, p1, 0x1
|
|
|
|
goto :goto_1
|
|
|
|
.line 1163
|
|
:cond_2
|
|
array-length p1, p0
|
|
|
|
new-array p1, p1, [B
|
|
|
|
move v2, v5
|
|
|
|
.line 1165
|
|
:goto_2
|
|
array-length v3, p0
|
|
|
|
if-ge v5, v3, :cond_3
|
|
|
|
add-int/2addr v2, v1
|
|
|
|
and-int/lit16 v2, v2, 0xff
|
|
|
|
.line 1167
|
|
aget-byte v3, v0, v2
|
|
|
|
add-int/2addr v4, v3
|
|
|
|
and-int/lit16 v4, v4, 0xff
|
|
|
|
.line 1168
|
|
aget-byte v3, v0, v4
|
|
|
|
.line 1169
|
|
aget-byte v6, v0, v2
|
|
|
|
aput-byte v6, v0, v4
|
|
|
|
.line 1170
|
|
aput-byte v3, v0, v2
|
|
|
|
.line 1171
|
|
aget-byte v3, v0, v2
|
|
|
|
aget-byte v6, v0, v4
|
|
|
|
add-int/2addr v3, v6
|
|
|
|
and-int/lit16 v3, v3, 0xff
|
|
|
|
.line 1172
|
|
aget-byte v3, v0, v3
|
|
|
|
.line 1173
|
|
aget-byte v6, p0, v5
|
|
|
|
xor-int/2addr v3, v6
|
|
|
|
int-to-byte v3, v3
|
|
|
|
aput-byte v3, p1, v5
|
|
|
|
add-int/lit8 v5, v5, 0x1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_3
|
|
return-object p1
|
|
|
|
.line 1145
|
|
:cond_4
|
|
new-instance p0, Ljava/lang/IllegalArgumentException;
|
|
|
|
const-string p1, "key must be between 1 and 256 bytes"
|
|
|
|
invoke-direct {p0, p1}, Ljava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
|
|
|
|
throw p0
|
|
|
|
:cond_5
|
|
:goto_3
|
|
const/4 p0, 0x0
|
|
|
|
return-object p0
|
|
.end method
|
|
|
|
.method private static rsaTemplate([B[BILjava/lang/String;Z)[B
|
|
.locals 7
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p0, :cond_9
|
|
|
|
.line 1081
|
|
array-length v1, p0
|
|
|
|
if-eqz v1, :cond_9
|
|
|
|
if-eqz p1, :cond_9
|
|
|
|
array-length v1, p1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
goto/16 :goto_4
|
|
|
|
.line 1087
|
|
:cond_0
|
|
:try_start_0
|
|
sget v1, Landroid/os/Build$VERSION;->SDK_INT:I
|
|
:try_end_0
|
|
.catch Ljava/lang/Exception; {:try_start_0 .. :try_end_0} :catch_0
|
|
|
|
const/16 v2, 0x1c
|
|
|
|
const-string v3, "RSA"
|
|
|
|
if-ge v1, v2, :cond_1
|
|
|
|
:try_start_1
|
|
const-string v1, "BC"
|
|
|
|
.line 1088
|
|
invoke-static {v3, v1}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
|
|
|
|
move-result-object v1
|
|
|
|
goto :goto_0
|
|
|
|
.line 1090
|
|
:cond_1
|
|
invoke-static {v3}, Ljava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
|
|
|
|
move-result-object v1
|
|
|
|
:goto_0
|
|
if-eqz p4, :cond_2
|
|
|
|
.line 1093
|
|
new-instance v2, Ljava/security/spec/X509EncodedKeySpec;
|
|
|
|
invoke-direct {v2, p1}, Ljava/security/spec/X509EncodedKeySpec;-><init>([B)V
|
|
|
|
.line 1094
|
|
invoke-virtual {v1, v2}, Ljava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
|
|
|
|
move-result-object p1
|
|
|
|
goto :goto_1
|
|
|
|
.line 1096
|
|
:cond_2
|
|
new-instance v2, Ljava/security/spec/PKCS8EncodedKeySpec;
|
|
|
|
invoke-direct {v2, p1}, Ljava/security/spec/PKCS8EncodedKeySpec;-><init>([B)V
|
|
|
|
.line 1097
|
|
invoke-virtual {v1, v2}, Ljava/security/KeyFactory;->generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
|
|
|
|
move-result-object p1
|
|
|
|
:goto_1
|
|
if-nez p1, :cond_3
|
|
|
|
return-object v0
|
|
|
|
.line 1100
|
|
:cond_3
|
|
invoke-static {p3}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
|
|
|
|
move-result-object v1
|
|
|
|
if-eqz p4, :cond_4
|
|
|
|
const/4 v2, 0x1
|
|
|
|
goto :goto_2
|
|
|
|
:cond_4
|
|
const/4 v2, 0x2
|
|
|
|
.line 1101
|
|
:goto_2
|
|
invoke-virtual {v1, v2, p1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
|
|
|
|
.line 1102
|
|
array-length p1, p0
|
|
|
|
.line 1103
|
|
div-int/lit8 p2, p2, 0x8
|
|
|
|
if-eqz p4, :cond_5
|
|
|
|
.line 1105
|
|
invoke-virtual {p3}, Ljava/lang/String;->toLowerCase()Ljava/lang/String;
|
|
|
|
move-result-object p3
|
|
|
|
const-string p4, "pkcs1padding"
|
|
|
|
.line 1106
|
|
invoke-virtual {p3, p4}, Ljava/lang/String;->endsWith(Ljava/lang/String;)Z
|
|
|
|
move-result p3
|
|
|
|
if-eqz p3, :cond_5
|
|
|
|
add-int/lit8 p2, p2, -0xb
|
|
|
|
.line 1110
|
|
:cond_5
|
|
div-int p3, p1, p2
|
|
|
|
if-lez p3, :cond_8
|
|
|
|
const/4 p4, 0x0
|
|
|
|
new-array v2, p4, [B
|
|
|
|
.line 1113
|
|
new-array v3, p2, [B
|
|
|
|
move v4, p4
|
|
|
|
move v5, v4
|
|
|
|
:goto_3
|
|
if-ge v4, p3, :cond_6
|
|
|
|
.line 1116
|
|
invoke-static {p0, v5, v3, p4, p2}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
.line 1117
|
|
invoke-virtual {v1, v3}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object v6
|
|
|
|
invoke-static {v2, v6}, Lcom/blankj/utilcode/util/EncryptUtils;->joins([B[B)[B
|
|
|
|
move-result-object v2
|
|
|
|
add-int/2addr v5, p2
|
|
|
|
add-int/lit8 v4, v4, 0x1
|
|
|
|
goto :goto_3
|
|
|
|
:cond_6
|
|
if-eq v5, p1, :cond_7
|
|
|
|
sub-int/2addr p1, v5
|
|
|
|
.line 1122
|
|
new-array p2, p1, [B
|
|
|
|
.line 1123
|
|
invoke-static {p0, v5, p2, p4, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
|
|
|
|
.line 1124
|
|
invoke-virtual {v1, p2}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object p0
|
|
|
|
invoke-static {v2, p0}, Lcom/blankj/utilcode/util/EncryptUtils;->joins([B[B)[B
|
|
|
|
move-result-object v2
|
|
|
|
:cond_7
|
|
return-object v2
|
|
|
|
.line 1128
|
|
:cond_8
|
|
invoke-virtual {v1, p0}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object p0
|
|
:try_end_1
|
|
.catch Ljava/lang/Exception; {:try_start_1 .. :try_end_1} :catch_0
|
|
|
|
return-object p0
|
|
|
|
:catch_0
|
|
move-exception p0
|
|
|
|
.line 1131
|
|
invoke-virtual {p0}, Ljava/lang/Exception;->printStackTrace()V
|
|
|
|
:cond_9
|
|
:goto_4
|
|
return-object v0
|
|
.end method
|
|
|
|
.method private static symmetricTemplate([B[BLjava/lang/String;Ljava/lang/String;[BZ)[B
|
|
.locals 3
|
|
|
|
const/4 v0, 0x0
|
|
|
|
if-eqz p0, :cond_6
|
|
|
|
.line 942
|
|
array-length v1, p0
|
|
|
|
if-eqz v1, :cond_6
|
|
|
|
if-eqz p1, :cond_6
|
|
|
|
array-length v1, p1
|
|
|
|
if-nez v1, :cond_0
|
|
|
|
goto :goto_5
|
|
|
|
:cond_0
|
|
:try_start_0
|
|
const-string v1, "DES"
|
|
|
|
.line 945
|
|
invoke-virtual {v1, p2}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z
|
|
|
|
move-result v1
|
|
|
|
if-eqz v1, :cond_1
|
|
|
|
.line 946
|
|
new-instance v1, Ljavax/crypto/spec/DESKeySpec;
|
|
|
|
invoke-direct {v1, p1}, Ljavax/crypto/spec/DESKeySpec;-><init>([B)V
|
|
|
|
.line 947
|
|
invoke-static {p2}, Ljavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
|
|
|
|
move-result-object p1
|
|
|
|
.line 948
|
|
invoke-virtual {p1, v1}, Ljavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
|
|
|
|
move-result-object p1
|
|
|
|
goto :goto_0
|
|
|
|
.line 950
|
|
:cond_1
|
|
new-instance v1, Ljavax/crypto/spec/SecretKeySpec;
|
|
|
|
invoke-direct {v1, p1, p2}, Ljavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
|
|
|
|
move-object p1, v1
|
|
|
|
.line 952
|
|
:goto_0
|
|
invoke-static {p3}, Ljavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
|
|
|
|
move-result-object p2
|
|
|
|
const/4 p3, 0x1
|
|
|
|
const/4 v1, 0x2
|
|
|
|
if-eqz p4, :cond_4
|
|
|
|
.line 953
|
|
array-length v2, p4
|
|
|
|
if-nez v2, :cond_2
|
|
|
|
goto :goto_2
|
|
|
|
.line 956
|
|
:cond_2
|
|
new-instance v2, Ljavax/crypto/spec/IvParameterSpec;
|
|
|
|
invoke-direct {v2, p4}, Ljavax/crypto/spec/IvParameterSpec;-><init>([B)V
|
|
|
|
if-eqz p5, :cond_3
|
|
|
|
goto :goto_1
|
|
|
|
:cond_3
|
|
move p3, v1
|
|
|
|
.line 957
|
|
:goto_1
|
|
invoke-virtual {p2, p3, p1, v2}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
|
|
|
|
goto :goto_4
|
|
|
|
:cond_4
|
|
:goto_2
|
|
if-eqz p5, :cond_5
|
|
|
|
goto :goto_3
|
|
|
|
:cond_5
|
|
move p3, v1
|
|
|
|
.line 954
|
|
:goto_3
|
|
invoke-virtual {p2, p3, p1}, Ljavax/crypto/Cipher;->init(ILjava/security/Key;)V
|
|
|
|
.line 959
|
|
:goto_4
|
|
invoke-virtual {p2, p0}, Ljavax/crypto/Cipher;->doFinal([B)[B
|
|
|
|
move-result-object p0
|
|
:try_end_0
|
|
.catchall {:try_start_0 .. :try_end_0} :catchall_0
|
|
|
|
return-object p0
|
|
|
|
:catchall_0
|
|
move-exception p0
|
|
|
|
.line 961
|
|
invoke-virtual {p0}, Ljava/lang/Throwable;->printStackTrace()V
|
|
|
|
:cond_6
|
|
:goto_5
|
|
return-object v0
|
|
.end method
|