package org.bouncycastle.crypto.digests;
import org.bouncycastle.util.Memoable;
public final class GOST3411_2012_256Digest
extends GOST3411_2012Digest
{
private final static byte[] IV = {
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
};
public GOST3411_2012_256Digest()
{
super(IV);
}
public GOST3411_2012_256Digest(GOST3411_2012_256Digest other)
{
super(IV);
reset(other);
}
public String getAlgorithmName()
{
return "GOST3411-2012-256";
}
public int getDigestSize()
{
return 32;
}
public int doFinal(byte[] out, int outOff)
{
byte[] result = new byte[64];
super.doFinal(result, 0);
System.arraycopy(result, 32, out, outOff, 32);
return 32;
}
public Memoable copy()
{
return new GOST3411_2012_256Digest(this);
}
}