Record Class DerivedKeyMaterial

java.lang.Object
java.lang.Record
net.jrodolfo.java_evolution.java25.key_derivation.DerivedKeyMaterial
Record Components:
algorithm - the KDF algorithm used by the example
contextLabel - the application context used during derivation
bytes - the derived key bytes

public record DerivedKeyMaterial(String algorithm, String contextLabel, byte[] bytes) extends Record
Captures key material derived by the Java 25 KDF API.

The derived bytes are exposed for tests and learning. Production code should handle key material carefully and avoid logging or printing secrets.

  • Constructor Details

    • DerivedKeyMaterial

      public DerivedKeyMaterial(String algorithm, String contextLabel, byte[] bytes)
      Creates an immutable holder for derived key bytes.
  • Method Details

    • bytes

      public byte[] bytes()
      Returns the value of the bytes record component.
      Returns:
      the value of the bytes record component
    • byteLength

      public int byteLength()
      Returns the number of derived bytes.
      Returns:
      derived key material length in bytes
    • hex

      public String hex()
      Formats the derived bytes for deterministic tests and documentation.
      Returns:
      hexadecimal representation of the derived bytes
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • algorithm

      public String algorithm()
      Returns the value of the algorithm record component.
      Returns:
      the value of the algorithm record component
    • contextLabel

      public String contextLabel()
      Returns the value of the contextLabel record component.
      Returns:
      the value of the contextLabel record component