com.nimbusds.srp6
Class XRoutineWithUserIdentity

java.lang.Object
  extended by com.nimbusds.srp6.XRoutineWithUserIdentity
All Implemented Interfaces:
XRoutine

public class XRoutineWithUserIdentity
extends java.lang.Object
implements XRoutine

Alternative routine for computing a password key x = H(s | H(I | ":" | P))

Specification: RFC 5054.

This routine can be passed to the SRP6VerifierGenerator and SRP6ClientSession to replace the default routine x = H(s | H(P)).

Version:
1.4 (2011-11-08)
Author:
Vladimir Dzhuvinov

Constructor Summary
XRoutineWithUserIdentity()
           
 
Method Summary
 java.math.BigInteger computeX(java.security.MessageDigest digest, byte[] salt, byte[] username, byte[] password)
          Computes x = H(s | H(I | ":" | P))
 java.lang.String toString()
          Returns a string representation of the routine algorightm.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

XRoutineWithUserIdentity

public XRoutineWithUserIdentity()
Method Detail

computeX

public java.math.BigInteger computeX(java.security.MessageDigest digest,
                                     byte[] salt,
                                     byte[] username,
                                     byte[] password)
Computes x = H(s | H(I | ":" | P))

This method complies with the RFC 5054 recommendation, save for the hash algorithm which can be any (RFC 5054 recommends SHA-1).

Specified by:
computeX in interface XRoutine
Parameters:
digest - The hash function 'H'. Must not be null.
salt - The salt 's'. Must not be null.
username - The user identity 'I'. Must not be null.
password - The user password 'P'. Must not be null.
Returns:
The resulting 'x' value.

toString

public java.lang.String toString()
Returns a string representation of the routine algorightm.

Overrides:
toString in class java.lang.Object
Returns:
"H(s | H(I | ":" | P))"