Red Hat Application Migration Toolkit
package iaik.security.random;
import iaik.security.random.RandomException;
import iaik.security.random.SeedGenerator;
import iaik.utils.Util;
import java.security.SecureRandom;
public abstract class SecRandom extends SecureRandom {
// $FF: synthetic field
static Class d;
private boolean a = false;
private boolean b = false;
private static Class c;
private static final boolean e = false;
static Class a(String var0) {
try {
return Class.forName(var0);
} catch (ClassNotFoundException var2) {
throw new NoClassDefFoundError(var2.getMessage());
}
}
public final synchronized void setSeed(byte[] var1) {
if(this.b) {
this.engineSetSeed(var1);
this.a = true;
}
}
public final void setSeed(long var1) {
this.setSeed(a(var1));
}
public final void setSeed() {
this.setSeed(SeedGenerator.getDefault().getSeed());
}
public static final void setDefault(Class var0) throws RandomException {
a(var0);
c = var0;
}
public final synchronized void nextBytes(byte[] var1) {
if(!this.a) {
this.setSeed();
}
this.engineNextBytes(var1);
}
static byte[] a(long var0) {
byte[] var2 = new byte[8];
for(int var3 = 7; var3 > 0; --var3) {
var2[var3] = (byte)((int)var0);
var0 >>>= 8;
}
return var2;
}
private static SecureRandom a(Class var0) throws RandomException {
try {
return (SecureRandom)var0.newInstance();
} catch (Exception var2) {
throw new RandomException("Error instantiating SecureRandom: " + var2.toString());
}
}
public static final SecureRandom getDefault() {
return a(c);
}
protected abstract void engineSetSeed(byte[] var1);
protected abstract void engineNextBytes(byte[] var1);
protected SecRandom() {
super(new byte[8]);
this.b = true;
}
static {
c = d != null?d:(d = a("iaik.security.random.SHA1Random"));
Util.toString((byte[])null, -1, 1);
}
}