public class RC5ParameterSpec extends Object implements AlgorithmParameterSpec
Constructor and Description |
---|
RC5ParameterSpec(int version,
int rounds,
int wordSize)
Create RC5 parameters without an IV.
|
RC5ParameterSpec(int version,
int rounds,
int wordSize,
byte[] iv)
Create RC5 parameters with an IV.
|
RC5ParameterSpec(int version,
int rounds,
int wordSize,
byte[] iv,
int off)
Create RC5 parameters with an IV.
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o)
Determine whether this Object is semantically equal
to another Object.
|
byte[] |
getIV()
Return the initializaiton vector, or
null if none was
specified. |
int |
getRounds()
Get the number of rounds.
|
int |
getVersion()
Get the version number.
|
int |
getWordSize()
Get the word size, in bits.
|
int |
hashCode()
Get a value that represents this Object, as uniquely as
possible within the confines of an int.
|
public RC5ParameterSpec(int version, int rounds, int wordSize)
version
- The version number.rounds
- The number of rounds.wordSize
- The size of a word, in bits.public RC5ParameterSpec(int version, int rounds, int wordSize, byte[] iv)
iv
in
the range [0, 2*(wordSize/8)-1]
are used.version
- The version number.rounds
- The number of rounds.wordSize
- The size of a word, in bits.iv
- The IV data.public RC5ParameterSpec(int version, int rounds, int wordSize, byte[] iv, int off)
iv
in
the range [off, off+2*(wordSize/8)-1]
are used.version
- The version number.rounds
- The number of rounds.wordSize
- The size of a word, in bits.iv
- The IV data.off
- From where in the array the IV starts.public byte[] getIV()
null
if none was
specified.public int getRounds()
public int getVersion()
public int getWordSize()
public boolean equals(Object o)
Object
There are some fairly strict requirements on this
method which subclasses must follow:
a.equals(b)
and
b.equals(c)
, then a.equals(c)
must be true as well.a.equals(b)
and
b.equals(a)
must have the same value.a.equals(a)
must
always be true.a.equals(null)
must be false.a.equals(b)
must imply
a.hashCode() == b.hashCode()
.
The reverse is not true; two objects that are not
equal may have the same hashcode, but that has
the potential to harm hashing performance.This is typically overridden to throw a ClassCastException
if the argument is not comparable to the class performing
the comparison, but that is not a requirement. It is legal
for a.equals(b)
to be true even though
a.getClass() != b.getClass()
. Also, it
is typical to never cause a NullPointerException
.
In general, the Collections API (java.util
) use the
equals
method rather than the ==
operator to compare objects. However, IdentityHashMap
is an exception to this rule, for its own good reasons.
The default implementation returns this == o
.
equals
in class Object
o
- the Object to compare toObject.hashCode()
public int hashCode()
Object
There are some requirements on this method which
subclasses must follow:
a.equals(b)
is true, then
a.hashCode() == b.hashCode()
must be as well.
However, the reverse is not necessarily true, and two
objects may have the same hashcode without being equal.Notice that since hashCode
is used in
Hashtable
and other hashing classes,
a poor implementation will degrade the performance of hashing
(so don't blindly implement it as returning a constant!). Also,
if calculating the hash is time-consuming, a class may consider
caching the results.
The default implementation returns
System.identityHashCode(this)
hashCode
in class Object
Object.equals(Object)
,
System.identityHashCode(Object)