Package tigase.util

Class Algorithms


  • public class Algorithms
    extends Object
    Describe class Algorithms here. Created: Wed May 4 13:24:03 2005
    Version:
    $Rev$
    Author:
    Artur Hefczyc
    • Method Detail

      • $main

        public static void $main​(String[] args)
                          throws Exception
        Describe main method here.
        Parameters:
        args - a String[] value
        Throws:
        Exception
      • bytesToHex

        public static final String bytesToHex​(byte[] buff)
      • generateDialbackKey

        public static String generateDialbackKey​(String originatingServer,
                                                 String receivingServer,
                                                 String secret,
                                                 String streamID)
        Calculates dialback key as decribed in XEP-0185 version 1.0.

        Implemented algorithm (recomended in XEP-0185):
         key = HMAC-SHA256
               (
                 SHA256(Secret),
                 {
                   Receiving Server, ' ',
                   Originating Server, ' ',
                   Stream ID
                 }
               )
         
        Parameters:
        originatingServer - the hostname of the Originating Server
        receivingServer - the hostname of the Receiving Server
        secret - a secret known by the Authoritative Server's network
        streamID - the Stream ID generated by the Receiving Server
        Returns:
        string contains HEX encoded dialback key.
      • hexDigest

        public static final String hexDigest​(String id,
                                             String secret,
                                             String alg)
                                      throws NoSuchAlgorithmException
        This method encodes data using digest algorithm described in JEP-0078 documentation. As a result you have String containing digest data which can be compared with data sent by the user to authenticate him.
        Parameters:
        id - a String value of some ID value like session ID to concatenate with secret word.
        secret - a String value of a secret word shared between entites.
        alg - a String value of algorithm name to use for generating diffest message.
        Returns:
        a String value digest message as defined.
        Throws:
        NoSuchAlgorithmException - if an error occurs during encoding digest message.
      • sha256

        public static String sha256​(String data)
        Calculates SHA-256 hash of given data.
        Parameters:
        data - data to hash
        Returns:
        string contains HEX encoded SHA-256 of data.