python - jython 的 PyCryptodome 替代品
问题描述
我正在尝试为 Apache Nifi 合并一个简单的加密处理器。我正在使用脚本处理器模块来包含一个 Python 脚本,该脚本执行使用 AES 加密和解密的功能。我在加载模块 PyCryptodome(我也尝试过 pycrypto)时遇到问题,它为我提供了功能。我读过这个模块无法加载,因为它不是纯 python,显然,Nifi 不支持。
关于我可以用什么来替代这个模块的任何建议?
解决方案
并不是 NiFi 本身不支持原生 Python 模块,而是我们在 NiFi 中使用的 Jython 引擎(因为 NiFi 是一个纯 Java 实现)不支持它。如果您在运行 NiFi 的节点上有一个 Python 解释器,您可以使用ExecuteStreamCommand
您的脚本(使用本机导入)来外壳到 Python,您将获得流文件的内容stdin
并编写您的加密/decrypt 逻辑输出到stdout
,这将成为传出流文件的内容。
我正在研究 Py4J 处理器,以便我们可以绕过 Jython 对本机模块的限制,但您仍然必须自带 Python (BYOP)。目前,只要您不想做任何比接收流文件内容和写出流文件内容更复杂的事情,ExecuteStreamCommand 就可以解决问题。
推荐阅读
- jdbc - DB2 JDBC Windows 身份验证
- html - 如何在表格上创建圆角并为整个表格和列保留表格边框?
- sql - 如何在 PostgreSQL 上存储 MM/YYYY 日期?
- javascript - 如何将 js 日期时间字符串转换为 python 日期时间对象
- java - FileNotFound 异常,即使文件在 java 中的监视服务期间就位
- ansible - 失败的!=> {"changed": false, "msg": "apt cache update failed"} 尝试
- python - 使用pandas python过滤并合并多个单元格为一个单元格Excel
- javascript - 使 Vuetify 的 v-select 更小,以便它可以很好地适合段落
- r - 有没有办法在 R 的 for 循环中进行滚动平均计算?
- tabulator - 制表器 - 获取包含顺序和大小的列