test_class.file: java_src/src/test/java/com/google/crypto/tink/subtle/prf/HkdfStreamingPrfTest.java
test_class.identifier: HkdfStreamingPrfTest
test_case.body: @Test
    public void testComputePrf_rfc589vector5() throws Exception {
      HashType hash = HashType.SHA1;
      byte[] ikm =
          Hex.decode(
              "000102030405060708090a0b0c0d0e0f"
                  + "101112131415161718191a1b1c1d1e1f"
                  + "202122232425262728292a2b2c2d2e2f"
                  + "303132333435363738393a3b3c3d3e3f"
                  + "404142434445464748494a4b4c4d4e4f");
      byte[] salt =
          Hex.decode(
              "606162636465666768696a6b6c6d6e6f"
                  + "707172737475767778797a7b7c7d7e7f"
                  + "808182838485868788898a8b8c8d8e8f"
                  + "909192939495969798999a9b9c9d9e9f"
                  + "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf");
      byte[] info =
          Hex.decode(
              "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf"
                  + "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf"
                  + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf"
                  + "e0e1e2e3e4e5e6e7e8e9eaebecedeeef"
                  + "f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff");
      byte[] expectedResult =
          Hex.decode(
              "0bd770a74d1160f7c9f12cd5912a06eb"
                  + "ff6adcae899d92191fe4305673ba2ffe"
                  + "8fa3f1a4e5ad79f3f334b3b202b2173c"
                  + "486ea37ce3d397ed034c7f9dfeb15c5e"
                  + "927336d0441f4c4300e2cff0d0900b52"
                  + "d3b4");
      HkdfStreamingPrf prf = new HkdfStreamingPrf(hash, ikm, salt);
      InputStream input = prf.computePrf(info);
  
      byte[] output = new byte[expectedResult.length];
      assertThat(input.read(output)).isEqualTo(expectedResult.length);
      assertThat(output).isEqualTo(expectedResult);
    }
test_case.class_method_signature: HkdfStreamingPrfTest.testComputePrf_rfc589vector5()
test_case.full_signature: @Test public void testComputePrf_rfc589vector5()
test_case.identifier: testComputePrf_rfc589vector5
test_case.invocations: decode decode decode decode computePrf isEqualTo assertThat read isEqualTo assertThat
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testComputePrf_rfc589vector5()
focal_class.declarator: hashType
focal_class.modifier: private final
focal_class.original_string: private final HashType hashType;
focal_class.type: HashType
focal_class.var_name: hashType
focal_class.declarator: ikm
focal_class.modifier: @SuppressWarnings("Immutable")
    private final
focal_class.original_string: @SuppressWarnings("Immutable")
    private final byte[] ikm;
focal_class.type: byte[]
focal_class.var_name: ikm
focal_class.declarator: salt
focal_class.modifier: @SuppressWarnings("Immutable")
    private final
focal_class.original_string: @SuppressWarnings("Immutable")
    private final byte[] salt;
focal_class.type: byte[]
focal_class.var_name: salt
focal_class.file: java_src/src/main/java/com/google/crypto/tink/subtle/prf/HkdfStreamingPrf.java
focal_class.identifier: HkdfStreamingPrf
focal_class.interfaces: implements StreamingPrf
focal_class.class_method_signature: HkdfStreamingPrf.getJavaxHmacName(HashType hashType)
focal_class.full_signature: private static String getJavaxHmacName(HashType hashType)
focal_class.identifier: getJavaxHmacName
focal_class.modifiers: private static
focal_class.parameters: (HashType hashType)
focal_class.return: String
focal_class.signature: String getJavaxHmacName(HashType hashType)
focal_class.class_method_signature: HkdfStreamingPrf.HkdfStreamingPrf(final HashType hashType, final byte[] ikm, final byte[] salt)
focal_class.full_signature: public  HkdfStreamingPrf(final HashType hashType, final byte[] ikm, final byte[] salt)
focal_class.identifier: HkdfStreamingPrf
focal_class.modifiers: public
focal_class.parameters: (final HashType hashType, final byte[] ikm, final byte[] salt)
focal_class.signature:  HkdfStreamingPrf(final HashType hashType, final byte[] ikm, final byte[] salt)
focal_class.class_method_signature: HkdfStreamingPrf.computePrf(final byte[] input)
focal_class.full_signature: @Override public InputStream computePrf(final byte[] input)
focal_class.identifier: computePrf
focal_class.modifiers: @Override public
focal_class.parameters: (final byte[] input)
focal_class.return: InputStream
focal_class.signature: InputStream computePrf(final byte[] input)
focal_method.body: @Override
    public InputStream computePrf(final byte[] input) {
      return new HkdfInputStream(input);
    }
focal_method.class_method_signature: HkdfStreamingPrf.computePrf(final byte[] input)
focal_method.full_signature: @Override public InputStream computePrf(final byte[] input)
focal_method.identifier: computePrf
focal_method.modifiers: @Override public
focal_method.parameters: (final byte[] input)
focal_method.return: InputStream
focal_method.signature: InputStream computePrf(final byte[] input)