Package tigase.util
Class Algorithms
- java.lang.Object
-
- tigase.util.Algorithms
-
public class Algorithms extends java.lang.ObjectDescribe class Algorithms here. Created: Wed May 4 13:24:03 2005- Version:
- $Rev$
- Author:
- Artur Hefczyc
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void$main(java.lang.String[] args)Describemainmethod here.static java.lang.StringbytesToHex(byte[] buff)static byte[]digest(java.lang.String id, java.lang.String secret, java.lang.String alg)static java.lang.StringgenerateDialbackKey(java.lang.String originatingServer, java.lang.String receivingServer, java.lang.String secret, java.lang.String streamID)Calculates dialback key as decribed in XEP-0185 version 1.0.static java.lang.StringhexDigest(java.lang.String id, java.lang.String secret, java.lang.String alg)This method encodes data using digest algorithm described in JEP-0078 documentation.static java.lang.Stringsha256(java.lang.String data)Calculates SHA-256 hash of given data.
-
-
-
Method Detail
-
$main
public static void $main(java.lang.String[] args) throws java.lang.ExceptionDescribemainmethod here.- Parameters:
args- aString[]value- Throws:
java.lang.Exception
-
bytesToHex
public static final java.lang.String bytesToHex(byte[] buff)
-
digest
public static final byte[] digest(java.lang.String id, java.lang.String secret, java.lang.String alg) throws java.security.NoSuchAlgorithmException- Throws:
java.security.NoSuchAlgorithmException
-
generateDialbackKey
public static java.lang.String generateDialbackKey(java.lang.String originatingServer, java.lang.String receivingServer, java.lang.String secret, java.lang.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 ServerreceivingServer- the hostname of the Receiving Serversecret- a secret known by the Authoritative Server's networkstreamID- the Stream ID generated by the Receiving Server- Returns:
- string contains HEX encoded dialback key.
-
hexDigest
public static final java.lang.String hexDigest(java.lang.String id, java.lang.String secret, java.lang.String alg) throws java.security.NoSuchAlgorithmExceptionThis method encodes data using digest algorithm described in JEP-0078 documentation. As a result you haveStringcontaining digest data which can be compared with data sent by the user to authenticate him.- Parameters:
id- aStringvalue of some ID value like session ID to concatenate with secret word.secret- aStringvalue of a secret word shared between entites.alg- aStringvalue of algorithm name to use for generating diffest message.- Returns:
- a
Stringvalue digest message as defined. - Throws:
java.security.NoSuchAlgorithmException- if an error occurs during encoding digest message.
-
sha256
public static java.lang.String sha256(java.lang.String data)
Calculates SHA-256 hash of given data.- Parameters:
data- data to hash- Returns:
- string contains HEX encoded SHA-256 of data.
-
-