jython 的 PyCryptodome 替代品

PyCryptodome alternative for jython

我正在尝试为 Apache Nifi 合并一个简单的加密处理器。我正在使用脚本处理器模块来包含一个 Python 脚本,该脚本执行使用 AES 进行加密和解密的功能。我在加载模块 PyCryptodome(我也尝试过 pycrypto)时遇到问题,它为我提供了功能。我读到这个模块无法加载,因为它不是纯的 python,显然,Nifi 不支持它。

有什么可以替代此模块的建议吗?

并不是说 NiFi 本身不支持原生 Python 模块,而是我们在 NiFi 中使用的 Jython 引擎(因为 NiFi 是一个纯粹的 Java 实现)不支持支持它。如果你在节点 运行 NiFi 上有一个 Python 解释器,你可以使用你的脚本使用 ExecuteStreamCommand 到 shell 到 Python imports),你会得到流文件的内容 stdin 并且你会写你的 encrypt/decrypt 逻辑输出到 stdout,这将成为传出流文件的内容.

我正在研究 Py4J 处理器,以便我们可以绕过 Jython 对本机模块的限制,但您仍然需要自带 Python (BYOP)。现在,只要您不想做任何比接收流文件内容和写出流文件内容更复杂的事情,ExecuteStreamCommand 应该可以做到。