Funkcje wyprowadzania kluczy
Wyprowadzaj klucze kryptograficzne przez standardowe API KDF.
Porównanie kodu
✕ Java 8
SecretKeyFactory factory =
SecretKeyFactory.getInstance(
"PBKDF2WithHmacSHA256");
KeySpec spec = new PBEKeySpec(
password, salt, 10000, 256);
SecretKey key =
factory.generateSecret(spec);
✓ Java 25
var kdf = KDF.getInstance("HKDF-SHA256");
SecretKey key = kdf.deriveKey(
"AES",
KDF.HKDFParameterSpec
.ofExtract()
.addIKM(inputKey)
.addSalt(salt)
.thenExpand(info, 32)
.build()
);
Widzisz problem z tym kodem? Daj nam znać.
Dlaczego nowoczesne podejście wygrywa
Czyste API
Wzorzec builder zamiast nieporęcznych konstruktorów KeySpec.
Obsługa HKDF
Nowoczesny HKDF obok PBKDF2.
Standard
Jednolite API dla różnych algorytmów wyprowadzania kluczy.
Stare podejście
Ręczne PBKDF2
Nowoczesne podejście
API KDF
Od JDK
25
Poziom trudności
Zaawansowany
Wsparcie JDK
Funkcje wyprowadzania kluczy
Dostępne
Ustabilizowane w JDK 25 LTS (JEP 510, wrzesień 2025)
Jak to działa
API KDF udostępnia standardowy interfejs do funkcji wyprowadzania kluczy, w tym HKDF. Zastępuje nieporęczny wzorzec SecretKeyFactory + PBEKeySpec czytelnym API opartym o builder.
Powiązana dokumentacja