Information

0
Story Points

Technologies

Decompiled Java File
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);
   }
}
Page generated: Oct 19, 2017 2:34:58 PM