使用apachenifi解密基于RSA的加密

2024-04-26 02:17:23 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用的python脚本使用pycrypto加密RSA文件。我在加密过程中使用了encrypt(data, 2048)函数。在

现在,我尝试使用apachenifi中的解密处理器对加密文件进行解密,但我不确定选择KDF和{}。在

我在apachenifi的Configure Processor窗口中没有看到任何被称为RSA的东西。在


Tags: 文件函数脚本data过程configure处理器processor
1条回答
网友
1楼 · 发布于 2024-04-26 02:17:23

当前,EncryptContent处理器不支持任意RSA解密。我建议您file a Jira请求此增强(不要被显示打开和关闭之间的差异的图表吓到;我们当前处于生命周期的阶段,最近发布了一个版本,现在所有的反馈都在为下一个版本生成新的问题)。在

为了立即解决问题,我有几点建议:

  • 可以使用GPG加密和解密数据,NiFi为GPG解密提供了一流的支持。GPG密钥使用底层的DSA/RSA密钥和AES加密数据,因此这实际上是相同的过程(非对称加密)。在
  • 您可以使用^{}处理器运行一个执行解密的小脚本。处理器支持Ruby、Groovy、Lua、Javascript和Python*。不幸的是,Python的限制是Jython不支持本机库(比如pycrypto)。一种可能的解决方案是使用JyNI,它允许Jython加载CPython库,但我没有在这个上下文中对其进行评估。如果您熟悉Groovy&BouncyCastle或Ruby&OpenSSL,那么只需几行代码就可以用这两种语言中的任何一种编写解密脚本。在
  • 如果您真的想使用已有的Python代码,可以通过^{}^{}在命令行上调用它。在

一个悬而未决的问题是如何使用RSA加密文件?密钥长度为2048位的RSA只能加密245个字节。如果您正在加密文件,则更可能需要使用混合加密系统,即使用随机生成的AES密钥加密任意数据,然后使用RSA加密该AES密钥。这也会快得多。这是SSL、S/MIME、OpenPGP等使用的模型

相关问题 更多 >