Единственное, что я могу придумать, это то, что это действительно interface
. Интерфейсы, которые вы можете реализовать в классе, который вы определяете сами.
Это имеет тот недостаток, что вам, возможно, придется копировать массивы, такие как salt (которые не так уж часто используются для функций выработки ключей), во временную память массив.
Преимущество состоит в том, что другие параметры вывода ключей могут просто быть частью определения класса, если их не нужно изменять.
Я бы посоветовал вам создать один, повторно используемый, изменяемый класс для вашей функции HKDF.