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

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

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