org.jgroups.auth

## Class MD5Token

- java.lang.Object
- - org.jgroups.auth.AuthToken
  - - org.jgroups.auth.MD5Token

All Implemented Interfaces:
  java.io.Serializable, Streamable

    public class MD5Token
    extends AuthToken

This is an example of using a preshared token that is encrypted using an MD5/SHA hash for authentication purposes. All members of the group have to have the same string value in the JGroups config.

Configuration parameters for this example are shown below:

- token_hash (required) = MD5(default)/SHA
- auth_value (required) = the string to encrypt

Author:
  Chris Mills
See Also:
  `AuthToken`, Serialized Form

### Field Summary

### Fields inherited from class org.jgroups.auth.AuthToken

`auth, log`

### Constructor Summary

Constructors
Constructor and Description
`MD5Token()`
`MD5Token(java.lang.String authvalue)`
`MD5Token(java.lang.String authvalue, java.lang.String hash_type)`

### Method Summary

Methods
`boolean` `authenticate(AuthToken token, Message msg)` This method should be implemented to perform the actual authentication of joining members.
`java.lang.String` `getAuthValue()`
`java.lang.String` `getHashType()`
`java.lang.String` `getName()` Used to return the full package and class name of the implementation.
`void` `readFrom(java.io.DataInputStream in)` Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed
`void` `setAuthValue(java.lang.String auth_value)`
`void` `setHashType(java.lang.String hash_type)`
`void` `writeTo(java.io.DataOutputStream out)` Write the entire state of the current object (including superclasses) to outstream.

### Methods inherited from class org.jgroups.auth.AuthToken

`init, setAuth`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### MD5Token

    public MD5Token()

#### MD5Token

    public MD5Token(java.lang.String authvalue)

#### MD5Token

    public MD5Token(java.lang.String authvalue,
            java.lang.String hash_type)

### Method Detail

#### getHashType

    public java.lang.String getHashType()

#### setHashType

    public void setHashType(java.lang.String hash_type)

#### getAuthValue

    public java.lang.String getAuthValue()

#### setAuthValue

    public void setAuthValue(java.lang.String auth_value)

#### getName

    public java.lang.String getName()

Description copied from class: `AuthToken`
Used to return the full package and class name of the implementation. This is used by the AUTH protocol to create an instance of the implementation.

Specified by:
  `getName` in class `AuthToken`
Returns:
  a java.lang.String object of the package and class name

#### authenticate

    public boolean authenticate(AuthToken token,
                       Message msg)

Description copied from class: `AuthToken`
This method should be implemented to perform the actual authentication of joining members.

Specified by:
  `authenticate` in class `AuthToken`
Parameters:
  `token` - the token sent by the joiner
  `msg` - the Message object containing the actual JOIN_REQ
Returns:
  true if authenticaion passed or false if it failed.

#### writeTo

    public void writeTo(java.io.DataOutputStream out)
                 throws java.io.IOException

Description copied from interface: `Streamable`
Write the entire state of the current object (including superclasses) to outstream. Note that the output stream must not be closed

Throws:
  `java.io.IOException`

#### readFrom

    public void readFrom(java.io.DataInputStream in)
                  throws java.io.IOException,
                         java.lang.IllegalAccessException,
                         java.lang.InstantiationException

Description copied from interface: `Streamable`
Read the state of the current object (including superclasses) from instream Note that the input stream must not be closed

Throws:
  `java.io.IOException`
  `java.lang.IllegalAccessException`
  `java.lang.InstantiationException`