Class 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)).

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      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 this routine algorithm.
      • 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 this routine algorithm.
        Overrides:
        toString in class java.lang.Object
        Returns:
        "H(s | H(I | ":" | P))"