java.lang.Object
de.bsvrz.dav.daf.communication.srpAuthentication.SrpUtilities

public final class SrpUtilities extends Object
Verschiedene allgemeine Hilfsfunktionen für die SRP-Authentifizierung
  • Method Details

    • 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 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(String str)
      Wandelt eine hexadezimale Zeichenfolge in ein Byte-Array im
      Parameters:
      str - Hex-Zeichen, z.B. "4711af2b"
      Returns:
      Byte-Array
    • bigIntegerFromBytes

      public static 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(BigInteger bigInteger)
      Wandelt einen BigInteger in ein vorzeichenloses Byte-Array um.
      Parameters:
      bigInteger - BigInteger
      Returns:
      byte-Array mit erstem Byte != 0
    • bigIntegerToHex

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

      public static BigInteger bigIntegerFromHex(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)