Class SrpUtilities


  • public final class SrpUtilities
    extends java.lang.Object
    Verschiedene allgemeine Hilfsfunktionen für die SRP-Authentifizierung
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.math.BigInteger bigIntegerFromBytes​(byte[] bytes)
      Wandelt ein vorzeichenloses byte-Array in ein positiven BigInteger um
      static java.math.BigInteger bigIntegerFromHex​(java.lang.String hexStr)
      Wandelt eine vorzeichenlose Hex-Zeichenfolge in einen positiven BigInteger
      static byte[] bigIntegerToBytes​(java.math.BigInteger bigInteger)
      Wandelt einen BigInteger in ein vorzeichenloses Byte-Array um.
      static java.lang.String bigIntegerToHex​(java.math.BigInteger bigInteger)
      Wandelt einen BigInteger in vorzeichenlose Hex-Darstellung um.
      static byte[] bytesFromHex​(java.lang.String str)
      Wandelt eine hexadezimale Zeichenfolge in ein Byte-Array im
      static char[] bytesToChars​(byte[] bytes)
      Wandelt ein byte-Array in ein char-Array um.
      static java.lang.String bytesToHex​(byte[] bytes)
      Wandelt ein Byte-Array in eine hexadezimale Darstellung um
      static byte[] charsToBytes​(char[] chars)
      Wandelt ein char-Array in ein byte-Array um.
      static byte[] generatePredictableSalt​(SrpCryptoParameter cryptoParams, byte[] seed)
      Erstellt ein (zufällig aussehendes) Salt, das aber eindeutig aus dem übergebenen Seed berechnet wird
      static byte[] generateRandomSalt​(SrpCryptoParameter cryptoParams)
      Erstellt ein zufälliges Salt
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Method Detail

      • generateRandomSalt

        public static byte[] generateRandomSalt​(SrpCryptoParameter cryptoParams)
        Erstellt ein zufälliges Salt
        Parameters:
        cryptoParams - Kryptographische Parameter (zur Bestimmung der Anzahl Bytes)
        Returns:
        zufälliges byte-Array der angegebenen Länge.
      • generatePredictableSalt

        public static byte[] generatePredictableSalt​(SrpCryptoParameter cryptoParams,
                                                     byte[] seed)
        Erstellt ein (zufällig aussehendes) Salt, das aber eindeutig aus dem übergebenen Seed berechnet wird
        Parameters:
        cryptoParams - Kryptographische Parameter (hauptsächlich zur Bestimmung der Anzahl Bytes)
        seed - Daten, die Grundlage für das zufällige Salt sind
        Returns:
        byte-Array der angegebenen Länge, welches aus dem seed gebildet wurde.
      • bytesToHex

        public static java.lang.String bytesToHex​(byte[] bytes)
        Wandelt ein Byte-Array in eine hexadezimale Darstellung um
        Parameters:
        bytes - Byte-Array
        Returns:
        Hex-Darstellung, z.B. "4711af2b"
      • bytesFromHex

        public static byte[] bytesFromHex​(java.lang.String str)
        Wandelt eine hexadezimale Zeichenfolge in ein Byte-Array im
        Parameters:
        str - Hex-Zeichen, z.B. "4711af2b"
        Returns:
        Byte-Array
      • bigIntegerFromBytes

        public static java.math.BigInteger bigIntegerFromBytes​(byte[] bytes)
        Wandelt ein vorzeichenloses byte-Array in ein positiven BigInteger um
        Parameters:
        bytes - Byte-Array
        Returns:
        BigInteger
      • bigIntegerToBytes

        public static byte[] bigIntegerToBytes​(java.math.BigInteger bigInteger)
        Wandelt einen BigInteger in ein vorzeichenloses Byte-Array um.
        Parameters:
        bigInteger - BigInteger
        Returns:
        byte-Array mit erstem Byte != 0
      • bigIntegerToHex

        public static java.lang.String bigIntegerToHex​(java.math.BigInteger bigInteger)
        Wandelt einen BigInteger in vorzeichenlose Hex-Darstellung um.
        Parameters:
        bigInteger - BigInteger
        Returns:
        Hex-Zeichenfolge
      • bigIntegerFromHex

        public static java.math.BigInteger bigIntegerFromHex​(java.lang.String hexStr)
        Wandelt eine vorzeichenlose Hex-Zeichenfolge in einen positiven BigInteger
        Parameters:
        hexStr - Hex-Zeichenfolge
        Returns:
        BigInteger
      • bytesToChars

        public static char[] bytesToChars​(byte[] bytes)
        Wandelt ein byte-Array in ein char-Array um.
        Parameters:
        bytes - bytes (UTF-8-kodiert)
        Returns:
        char[]-Array
      • charsToBytes

        public static byte[] charsToBytes​(char[] chars)
        Wandelt ein char-Array in ein byte-Array um.
        Parameters:
        chars - char[]-Array
        Returns:
        bytes (UTF-8-kodiert)