javax.crypto.spec
Class RC5ParameterSpec

java.lang.Object
  extended by javax.crypto.spec.RC5ParameterSpec
All Implemented Interfaces:
AlgorithmParameterSpec

public class RC5ParameterSpec
extends Object
implements AlgorithmParameterSpec

A wrapper for parameters to the RC5 block cipher.

Since:
1.4

Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RC5ParameterSpec

public RC5ParameterSpec(int version,
                        int rounds,
                        int wordSize)
Create RC5 parameters without an IV.

Parameters:
version - The version number.
rounds - The number of rounds.
wordSize - The size of a word, in bits.

RC5ParameterSpec

public RC5ParameterSpec(int version,
                        int rounds,
                        int wordSize,
                        byte[] iv)
Create RC5 parameters with an IV. The bytes in iv in the range [0, 2*(wordSize/8)-1] are used.

Parameters:
version - The version number.
rounds - The number of rounds.
wordSize - The size of a word, in bits.
iv - The IV data.

RC5ParameterSpec

public RC5ParameterSpec(int version,
                        int rounds,
                        int wordSize,
                        byte[] iv,
                        int off)
Create RC5 parameters with an IV. The bytes in iv in the range [off, off+2*(wordSize/8)-1] are used.

Parameters:
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.
Method Detail

getIV

public byte[] getIV()
Return the initializaiton vector, or null if none was specified.

Returns:
The IV, or null.

getRounds

public int getRounds()
Get the number of rounds.

Returns:
The number of rounds.

getVersion

public int getVersion()
Get the version number.

Returns:
The version number.

getWordSize

public int getWordSize()
Get the word size, in bits.

Returns:
The word size, in bits.

equals

public boolean equals(Object o)
Description copied from class: Object
Determine whether this Object is semantically equal to another Object.

There are some fairly strict requirements on this method which subclasses must follow:

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.

Overrides:
equals in class Object
Parameters:
o - the Object to compare to
Returns:
whether this Object is semantically equal to another
See Also:
Object.hashCode()

hashCode

public int hashCode()
Description copied from class: Object
Get a value that represents this Object, as uniquely as possible within the confines of an int.

There are some requirements on this method which subclasses must follow:

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)

Overrides:
hashCode in class Object
Returns:
the hash code for this Object
See Also:
Object.equals(Object), System.identityHashCode(Object)