1 package org.bouncycastle.crypto.params; 2 3 import org.bouncycastle.util.Arrays; 4 5 public class DSAValidationParameters 6 { 7 private int usageIndex; 8 private byte[] seed; 9 private int counter; 10 DSAValidationParameters( byte[] seed, int counter)11 public DSAValidationParameters( 12 byte[] seed, 13 int counter) 14 { 15 this(seed, counter, -1); 16 } 17 DSAValidationParameters( byte[] seed, int counter, int usageIndex)18 public DSAValidationParameters( 19 byte[] seed, 20 int counter, 21 int usageIndex) 22 { 23 this.seed = seed; 24 this.counter = counter; 25 this.usageIndex = usageIndex; 26 } 27 getCounter()28 public int getCounter() 29 { 30 return counter; 31 } 32 getSeed()33 public byte[] getSeed() 34 { 35 return seed; 36 } 37 getUsageIndex()38 public int getUsageIndex() 39 { 40 return usageIndex; 41 } 42 hashCode()43 public int hashCode() 44 { 45 return counter ^ Arrays.hashCode(seed); 46 } 47 equals( Object o)48 public boolean equals( 49 Object o) 50 { 51 if (!(o instanceof DSAValidationParameters)) 52 { 53 return false; 54 } 55 56 DSAValidationParameters other = (DSAValidationParameters)o; 57 58 if (other.counter != this.counter) 59 { 60 return false; 61 } 62 63 return Arrays.areEqual(this.seed, other.seed); 64 } 65 } 66