You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Mule 3哈希转换至Mule 4遇问题,求等效实现方案

Mule 3 代码对应的 Mule 4 等效实现

原Mule 3表达式组件的作用是将Payload转换为UTF-8编码的字节数组,通过Guava的SHA-1哈希工具生成哈希值后,将结果赋值回Payload。以下是两种Mule 4的等效实现方案:

方式1:使用DataWeave(推荐,符合Mule 4最佳实践)

Mule 4内置加密功能,无需额外依赖Guava,直接用DataWeave的hash函数实现:

%dw 2.0
output application/octet-stream
---
hash('SHA-1', payload as Binary {encoding: "UTF-8"})

如果需要将哈希结果转为十六进制字符串输出,可调整为:

%dw 2.0
output application/json
---
hash('SHA-1', payload as Binary {encoding: "UTF-8"}) toHex()

方式2:沿用Guava依赖,使用Script组件

若需继续使用Guava库,Mule 4中用Script组件替代原expression-component,需确保项目已引入Guava依赖:

<script doc:name="TECH_Heroku_PartKey" engine="groovy">
    <![CDATA[
        import com.google.common.hash.Hashing;
        def payloadBytes = payload.getBytes("UTF-8");
        return Hashing.sha1().hashBytes(payloadBytes);
    ]]>
</script>

注意:Mule 4的Script组件需指定脚本引擎(此处用Groovy),且通过return返回结果作为新Payload,而非直接赋值给payload变量。

内容的提问来源于stack exchange,提问作者Devendra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 16:32:44