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

标签 java encryption coldfusion hmac

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

我了解到从 CF8 开始,encrypt() 支持 HMAC-SHA256,但它仅在企业版中可用(我们没有),甚至在开发人员版本中都不可用供我测试.

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

最佳答案

这就是我最终做的:

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());

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

关于java - 使用 Java 在 ColdFusion 中计算 HMAC-SHA256 摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/951477/

相关文章:

ruby-on-rails - 解密设计密码

c++ - libgcrypt 中的 AES128 未加密

extjs - 如何使用 Ext/JS 4.1 检索网格的排序列和方向

coldfusion - 应用程序变量未持久化

java - 无法粗体或突出显示 Android 自定义日历的事件日期

java - 具有常规数据库操作的多用户 Web 应用程序

java - 使用列表将 XML 解码为对象会返回 Null 对象

java - 图标和 NavigationView 之间的左边距

regex - 用于在 ColdFusion 9 中删除字符串中数值周围的引号的正则表达式

c# - MachineKey.Protect 和 MachineKey.Unprotect