PBEParametersGenerator.smali

.class public abstract Lorg/spongycastle/crypto/PBEParametersGenerator;
.super Ljava/lang/Object;
.source "PBEParametersGenerator.java"


# instance fields
.field protected iterationCount:I

.field protected password:[B

.field protected salt:[B


# direct methods
.method protected constructor <init>()V
    .registers 1

    .prologue
    .line 18
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 19
    return-void
.end method

.method public static PKCS12PasswordToBytes([C)[B
    .registers 5

    .prologue
    const/4 v0, 0x0

    .line 153
    if-eqz p0, :cond_27

    array-length v1, p0

    if-lez v1, :cond_27

    .line 156
    array-length v1, p0

    add-int/lit8 v1, v1, 0x1

    shl-int/lit8 v1, v1, 0x1

    new-array v1, v1, [B

    .line 158
    :goto_d
    array-length v2, p0

    if-eq v0, v2, :cond_25

    .line 160
    shl-int/lit8 v2, v0, 0x1

    aget-char v3, p0, v0

    ushr-int/lit8 v3, v3, 0x8

    int-to-byte v3, v3

    aput-byte v3, v1, v2

    .line 161
    shl-int/lit8 v2, v0, 0x1

    add-int/lit8 v2, v2, 0x1

    aget-char v3, p0, v0

    int-to-byte v3, v3

    aput-byte v3, v1, v2

    .line 158
    add-int/lit8 v0, v0, 0x1

    goto :goto_d

    :cond_25
    move-object v0, v1

    .line 168
    :goto_26
    return-object v0

    :cond_27
    new-array v0, v0, [B

    goto :goto_26
.end method

.method public static PKCS5PasswordToBytes([C)[B
    .registers 4

    .prologue
    const/4 v0, 0x0

    .line 106
    if-eqz p0, :cond_13

    .line 108
    array-length v1, p0

    new-array v1, v1, [B

    .line 110
    :goto_6
    array-length v2, v1

    if-eq v0, v2, :cond_11

    .line 112
    aget-char v2, p0, v0

    int-to-byte v2, v2

    aput-byte v2, v1, v0

    .line 110
    add-int/lit8 v0, v0, 0x1

    goto :goto_6

    :cond_11
    move-object v0, v1

    .line 119
    :goto_12
    return-object v0

    :cond_13
    new-array v0, v0, [B

    goto :goto_12
.end method

.method public static PKCS5PasswordToUTF8Bytes([C)[B
    .registers 2

    .prologue
    .line 133
    if-eqz p0, :cond_7

    .line 135
    invoke-static {p0}, Lorg/spongycastle/util/Strings;->toUTF8ByteArray([C)[B

    move-result-object v0

    .line 139
    :goto_6
    return-object v0

    :cond_7
    const/4 v0, 0x0

    new-array v0, v0, [B

    goto :goto_6
.end method


# virtual methods
.method public abstract generateDerivedMacParameters(I)Lorg/spongycastle/crypto/CipherParameters;
.end method

.method public abstract generateDerivedParameters(I)Lorg/spongycastle/crypto/CipherParameters;
.end method

.method public abstract generateDerivedParameters(II)Lorg/spongycastle/crypto/CipherParameters;
.end method

.method public getIterationCount()I
    .registers 2

    .prologue
    .line 66
    iget v0, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->iterationCount:I

    return v0
.end method

.method public getPassword()[B
    .registers 2

    .prologue
    .line 46
    iget-object v0, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->password:[B

    return-object v0
.end method

.method public getSalt()[B
    .registers 2

    .prologue
    .line 56
    iget-object v0, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->salt:[B

    return-object v0
.end method

.method public init([B[BI)V
    .registers 4

    .prologue
    .line 34
    iput-object p1, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->password:[B

    .line 35
    iput-object p2, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->salt:[B

    .line 36
    iput p3, p0, Lorg/spongycastle/crypto/PBEParametersGenerator;->iterationCount:I

    .line 37
    return-void
.end method