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); } }