[
https://issues.apache.org/jira/browse/CODEC-222?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15295775#comment-15295775
]
Sebb commented on CODEC-222:
----------------------------
The code now looks like:
byte[] hmac = HmacUtils.use(HmacAlgorithms.HMAC_MD5, key).hmac(valueToDigest);
If the enum is statically imported this becomes:
byte[] hmac = HmacUtils.use(HMAC_MD5, key).hmac(valueToDigest);
This is to be compared with the orginal:
byte[] hmac HmacUtils.hmacMd5(key, valueToDigest);
Similarly for Hex output:
String hmac = HmacUtils.use(HMAC_MD5, key).hmacHex(valueToDigest);
versus
String hmac = HmacUtils.hmacMd5Hex(key, valueToDigest);
> Fluent interface for HmacUtils
> ------------------------------
>
> Key: CODEC-222
> URL: https://issues.apache.org/jira/browse/CODEC-222
> Project: Commons Codec
> Issue Type: New Feature
> Reporter: Sebb
>
> As with DigestUtils, HmacUtils has lots of similar methods, differing only by
> their name.
> To simplify this, and unify the API for current standard and new algorithms,
> a fluent approach is proposed. This still allows for using the enum values
> defined in HmacAlgorithms but does not require the use of a different API for
> algorithms that are not supported by the enum.
> The design is as for DigestUtils: create an instance of HmacUtils containing
> the Mac to be updated, and provide chaining instance methods to update it and
> generate the output.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)