org.beepcore.beep.profile.sasl.otp.algorithm
Class AlgorithmImpl

java.lang.Object
  extended byorg.beepcore.beep.profile.sasl.otp.algorithm.AlgorithmImpl
All Implemented Interfaces:
Algorithm
Direct Known Subclasses:
MD5, SHA1

public abstract class AlgorithmImpl
extends java.lang.Object
implements Algorithm


Field Summary
 
Fields inherited from interface org.beepcore.beep.profile.sasl.otp.algorithm.Algorithm
ERR_HASH_FAILURE
 
Constructor Summary
AlgorithmImpl(java.lang.String internal)
          Method AlgorithmImpl
 
Method Summary
protected abstract  byte[] foldHash(byte[] hash)
          Method foldHash is provided for implementations, as the value of the message digest hash must be folding into 64 bits before it can be used by the SASLOTPProfile and its supporting classes.
 byte[] generateHash(byte[] data)
          Method generateHash generate a hash value using the appropriate hash function.
 byte[] generateHash(java.lang.String s)
          Method generateHash generate a hash value using the appropriate hash function.
abstract  java.lang.String getName()
          Method getName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlgorithmImpl

public AlgorithmImpl(java.lang.String internal)
Method AlgorithmImpl

Parameters:
internal - The data used by the JVM internally to represent a certain MessageDigest hash algorithm. This is defined in JVM documentation and in constants in SASLOTPProfile.
Method Detail

getName

public abstract java.lang.String getName()
Method getName

Specified by:
getName in interface Algorithm

generateHash

public byte[] generateHash(java.lang.String s)
                    throws InvalidParameterException
Method generateHash generate a hash value using the appropriate hash function.

Specified by:
generateHash in interface Algorithm
Parameters:
s - The data to be hashed
Returns:
byte[] the hash value in binary form.
Throws:
SASLException - if an error is encountered during the generation of hte hash.
InvalidParameterException

generateHash

public byte[] generateHash(byte[] data)
                    throws InvalidParameterException
Method generateHash generate a hash value using the appropriate hash function.

Specified by:
generateHash in interface Algorithm
Parameters:
data - The data to be hashed
Returns:
byte[] the hash value in binary form.
Throws:
SASLException - if an error is encountered during the generation of hte hash.
InvalidParameterException

foldHash

protected abstract byte[] foldHash(byte[] hash)
                            throws InvalidParameterException
Method foldHash is provided for implementations, as the value of the message digest hash must be folding into 64 bits before it can be used by the SASLOTPProfile and its supporting classes.

Parameters:
hash - The hash value to be folded
Returns:
byte[] is the folded hash.
Throws:
InvalidParameterException - of the has provided is somehow improper or invalid.


Copyright ? 2001 Invisible Worlds, Inc. All Rights Reserved.