EntropyUtil.smali
.class public Lorg/spongycastle/crypto/prng/EntropyUtil;
.super Ljava/lang/Object;
.source "EntropyUtil.java"
# direct methods
.method public constructor <init>()V
.registers 1
.prologue
.line 6
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static generateSeed(Lorg/spongycastle/crypto/prng/EntropySource;I)[B
.registers 9
.prologue
const/4 v1, 0x0
.line 17
new-array v2, p1, [B
.line 19
shl-int/lit8 v0, p1, 0x3
invoke-interface {p0}, Lorg/spongycastle/crypto/prng/EntropySource;->entropySize()I
move-result v3
if-gt v0, v3, :cond_13
.line 21
invoke-interface {p0}, Lorg/spongycastle/crypto/prng/EntropySource;->getEntropy()[B
move-result-object v0
.line 23
invoke-static {v0, v1, v2, v1, p1}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 44
:cond_12
return-object v2
.line 27
:cond_13
invoke-interface {p0}, Lorg/spongycastle/crypto/prng/EntropySource;->entropySize()I
move-result v0
div-int/lit8 v3, v0, 0x8
move v0, v1
.line 29
:goto_1a
if-ge v0, p1, :cond_12
.line 31
invoke-interface {p0}, Lorg/spongycastle/crypto/prng/EntropySource;->getEntropy()[B
move-result-object v4
.line 33
array-length v5, v4
sub-int v6, p1, v0
if-gt v5, v6, :cond_2b
.line 35
array-length v5, v4
invoke-static {v4, v1, v2, v0, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 29
:goto_29
add-int/2addr v0, v3
goto :goto_1a
.line 39
:cond_2b
sub-int v5, p1, v0
invoke-static {v4, v1, v2, v0, v5}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
goto :goto_29
.end method