使用Java计算ColdFusion中的HMAC-SHA256摘要

DEf*_*ion 5 java encryption coldfusion hmac

我们正在尝试在ColdFusion中计算HMAC-SHA256摘要,我们正在使用HMAC CFC,但在一种情况下,与使用不同语言生成的摘要相比,它产生了不同的摘要结果 - 使用Ruby和PHP尝试了相同的数据并获得预期的结果.我也尝试了它所基于的CF_HMAC自定义标签并获得相同的结果.

据我所知,从CF8 encrypt()支持HMAC-SHA256,但它只在Enterprise(我们没有)中可用,甚至在开发人员版本中也没有供我测试.

所以我的问题是我可以通过从CF访问Java来实现这一点吗?

DEf*_*ion 11

这就是我最终做的事情:

secret = createObject('java', 'javax.crypto.spec.SecretKeySpec' ).Init(my_key.GetBytes(), 'HmacSHA256');
mac = createObject('java', "javax.crypto.Mac");
mac = mac.getInstance("HmacSHA256");
mac.init(secret);
digest = mac.doFinal(my_data.GetBytes());
Run Code Online (Sandbox Code Playgroud)

这为您提供了字节数组,然后您可以将其转换为字符串.