qw.java 3.94 KB
import com.google.common.base.Preconditions;
import com.google.common.hash.AbstractStreamingHashFunction;
import com.google.common.hash.HashCode;
import com.google.common.hash.Hasher;
import java.io.Serializable;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;

public final class qw
  extends AbstractStreamingHashFunction
  implements Serializable
{
  private final MessageDigest a;
  private final int b;
  private final boolean c;
  private final String d;
  
  qw(String paramString1, int paramInt, String paramString2)
  {
    this.d = ((String)Preconditions.checkNotNull(paramString2));
    this.a = a(paramString1);
    int i = this.a.getDigestLength();
    if ((paramInt >= 4) && (paramInt <= i)) {}
    for (boolean bool = true;; bool = false)
    {
      Preconditions.checkArgument(bool, "bytes (%s) must be >= 4 and < %s", new Object[] { Integer.valueOf(paramInt), Integer.valueOf(i) });
      this.b = paramInt;
      this.c = a();
      return;
    }
  }
  
  public qw(String paramString1, String paramString2)
  {
    this.a = a(paramString1);
    this.b = this.a.getDigestLength();
    this.d = ((String)Preconditions.checkNotNull(paramString2));
    this.c = a();
  }
  
  private static MessageDigest a(String paramString)
  {
    try
    {
      paramString = MessageDigest.getInstance(paramString);
      return paramString;
    }
    catch (NoSuchAlgorithmException paramString)
    {
      throw new AssertionError(paramString);
    }
  }
  
  private boolean a()
  {
    try
    {
      this.a.clone();
      return true;
    }
    catch (CloneNotSupportedException localCloneNotSupportedException) {}
    return false;
  }
  
  public final int bits()
  {
    return this.b * 8;
  }
  
  public final Hasher newHasher()
  {
    if (this.c) {
      try
      {
        qw.a locala = new qw.a((MessageDigest)this.a.clone(), this.b, (byte)0);
        return locala;
      }
      catch (CloneNotSupportedException localCloneNotSupportedException) {}
    }
    return new qw.a(a(this.a.getAlgorithm()), this.b, (byte)0);
  }
  
  public final String toString()
  {
    return this.d;
  }
  
  final Object writeReplace()
  {
    return new qw.b(this.a.getAlgorithm(), this.b, this.d, (byte)0);
  }
  
  static final class a
    extends qq
  {
    private final MessageDigest a;
    private final int b;
    private boolean c;
    
    private a(MessageDigest paramMessageDigest, int paramInt)
    {
      this.a = paramMessageDigest;
      this.b = paramInt;
    }
    
    private void a()
    {
      if (!this.c) {}
      for (boolean bool = true;; bool = false)
      {
        Preconditions.checkState(bool, "Cannot re-use a Hasher after calling hash() on it");
        return;
      }
    }
    
    protected final void a(byte paramByte)
    {
      a();
      this.a.update(paramByte);
    }
    
    protected final void a(byte[] paramArrayOfByte)
    {
      a();
      this.a.update(paramArrayOfByte);
    }
    
    protected final void a(byte[] paramArrayOfByte, int paramInt1, int paramInt2)
    {
      a();
      this.a.update(paramArrayOfByte, paramInt1, paramInt2);
    }
    
    public final HashCode hash()
    {
      a();
      this.c = true;
      if (this.b == this.a.getDigestLength()) {
        return HashCode.a(this.a.digest());
      }
      return HashCode.a(Arrays.copyOf(this.a.digest(), this.b));
    }
  }
  
  static final class b
    implements Serializable
  {
    private static final long serialVersionUID = 0L;
    private final String a;
    private final int b;
    private final String c;
    
    private b(String paramString1, int paramInt, String paramString2)
    {
      this.a = paramString1;
      this.b = paramInt;
      this.c = paramString2;
    }
    
    private Object readResolve()
    {
      return new qw(this.a, this.b, this.c);
    }
  }
}


/* Location:              /home/merong/decompile/hackery-dex2jar.jar!/qw.class
 * Java compiler version: 6 (50.0)
 * JD-Core Version:       0.7.1
 */