HashUtils.smali
.class public final Lcom/avast/android/utils/crypto/HashUtils;
.super Ljava/lang/Object;
# static fields
.field private static final a:[C
# direct methods
.method static constructor <clinit>()V
.registers 1
const-string v0, "0123456789abcdef"
invoke-virtual {v0}, Ljava/lang/String;->toCharArray()[C
move-result-object v0
sput-object v0, Lcom/avast/android/utils/crypto/HashUtils;->a:[C
return-void
.end method
.method public static a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
.registers 3
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;,
Ljava/io/UnsupportedEncodingException;
}
.end annotation
invoke-virtual {p0, p2}, Ljava/lang/String;->getBytes(Ljava/lang/String;)[B
move-result-object p0
invoke-static {p0, p1}, Lcom/avast/android/utils/crypto/HashUtils;->b([BLjava/lang/String;)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static b([BLjava/lang/String;)Ljava/lang/String;
.registers 4
.annotation system Ldalvik/annotation/Throws;
value = {
Ljava/security/NoSuchAlgorithmException;
}
.end annotation
invoke-static {p1}, Ljava/security/MessageDigest;->getInstance(Ljava/lang/String;)Ljava/security/MessageDigest;
move-result-object p1
array-length v0, p0
const/4 v1, 0x0
invoke-virtual {p1, p0, v1, v0}, Ljava/security/MessageDigest;->update([BII)V
invoke-virtual {p1}, Ljava/security/MessageDigest;->digest()[B
move-result-object p0
invoke-static {p0}, Lcom/avast/android/utils/crypto/HashUtils;->e([B)Ljava/lang/String;
move-result-object p0
return-object p0
.end method
.method public static c(Ljava/lang/String;)Ljava/lang/String;
.registers 4
:try_start_0
const-string v0, "SHA1"
const-string v1, "UTF-8"
invoke-static {p0, v0, v1}, Lcom/avast/android/utils/crypto/HashUtils;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_8
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_8} :catch_b
.catch Ljava/io/UnsupportedEncodingException; {:try_start_0 .. :try_end_8} :catch_9
return-object p0
:catch_9
move-exception p0
goto :goto_c
:catch_b
move-exception p0
:goto_c
sget-object v0, Lcom/avast/android/utils/LH;->a:Lcom/avast/android/logging/Alf;
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
const-string v2, "HashUtils.sha1AsHex() failed"
invoke-virtual {v0, p0, v2, v1}, Lcom/avast/android/logging/Alf;->r(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
const-string p0, ""
return-object p0
.end method
.method public static d([B)Ljava/lang/String;
.registers 4
:try_start_0
const-string v0, "SHA1"
invoke-static {p0, v0}, Lcom/avast/android/utils/crypto/HashUtils;->b([BLjava/lang/String;)Ljava/lang/String;
move-result-object p0
:try_end_6
.catch Ljava/security/NoSuchAlgorithmException; {:try_start_0 .. :try_end_6} :catch_7
return-object p0
:catch_7
move-exception p0
sget-object v0, Lcom/avast/android/utils/LH;->a:Lcom/avast/android/logging/Alf;
const/4 v1, 0x0
new-array v1, v1, [Ljava/lang/Object;
const-string v2, "HashUtils.sha1AsHex() failed"
invoke-virtual {v0, p0, v2, v1}, Lcom/avast/android/logging/Alf;->r(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)V
const-string p0, ""
return-object p0
.end method
.method public static e([B)Ljava/lang/String;
.registers 7
array-length v0, p0
mul-int/lit8 v0, v0, 0x2
new-array v0, v0, [C
const/4 v1, 0x0
:goto_6
array-length v2, p0
if-ge v1, v2, :cond_22
aget-byte v2, p0, v1
and-int/lit16 v2, v2, 0xff
mul-int/lit8 v3, v1, 0x2
sget-object v4, Lcom/avast/android/utils/crypto/HashUtils;->a:[C
ushr-int/lit8 v5, v2, 0x4
aget-char v5, v4, v5
aput-char v5, v0, v3
add-int/lit8 v3, v3, 0x1
and-int/lit8 v2, v2, 0xf
aget-char v2, v4, v2
aput-char v2, v0, v3
add-int/lit8 v1, v1, 0x1
goto :goto_6
:cond_22
new-instance p0, Ljava/lang/String;
invoke-direct {p0, v0}, Ljava/lang/String;-><init>([C)V
return-object p0
.end method