@Test
    void output_collision_for_different_salts() {
        var ikm  = unhex("5943c65bc33bf05a205b04be8ae0ab2e");
        var info = unhex("be082f301a03f87787a80fbea88941214d50c42b");
        var hkdf = HKDF.unsaltedExtractedFrom(ikm);

        var okm = hkdf.expand(32, info);
        var expectedOkm = "e7f384df2eae32addabd068a758dec84ed7fcfd87a5fcceb37b70c51422d7387";
        assertEquals(expectedOkm, hex(okm));

        var salt = unhex("0000000000000000000000000000000000000000000000000000000000000000");
        hkdf = HKDF.extractedFrom(salt, ikm);
        okm = hkdf.expand(32, info);
        assertEquals(expectedOkm, hex(okm));
    }
HKDF tests that ensure that the output of our own implementation matches the test
vectors given in <a href="https://tools.ietf.org/html/rfc5869">RFC-5869</a>.

We don't expose the internal PRK (pseudo-random key) value of the HKDF itself,
so we don't test it explicitly. The actual OKM (output keying material) inherently
depends on it, so its correctness is verified transitively.

@author vekterli
security-utils/src/test/java/com/yahoo/security/HKDFTest.java