背景
我的应用程序现在遇到了瓶颈,其中最慢的部分是所有数据必须通过的 AES 加密和解密流。为了克服这个问题,我计划通过 JNI 和 OpenSSL 在本机代码中实现这种加密,这样我就可以利用 AES-NI 和直接内存访问之类的东西(我的缓冲区已经是直接的,所以我已经可以获得指向它们的指针内存区域)
问题
每次我需要加密或解密某些数据时,使用密钥重新创建 OpenSSL 密码是没有意义的。如果我使用 Java,我只需将 Cipher 实例作为字段存储在类中,但是由于密码是 C“对象”,所以我不能这样做。
问题
如何将 C“对象”绑定到 Java 类实例,以便后续调用可以使用存储的“对象”。我想这与将“对象”指针作为 long 存储到 Java 类中,然后取消引用它有关,但是我不太确定这是否完全是跨平台的。
答案
必须是:
- 简单化
- 快速地
- 跨平台
谢谢你的时间!