Class SrpUtilities
- 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
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 umstatic java.math.BigInteger
bigIntegerFromHex(java.lang.String hexStr)
Wandelt eine vorzeichenlose Hex-Zeichenfolge in einen positiven BigIntegerstatic 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 imstatic 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 umstatic 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 wirdstatic byte[]
generateRandomSalt(SrpCryptoParameter cryptoParams)
Erstellt ein zufälliges Salt
-
-
-
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)
-
-