目前不可能,没有平台支持你就无法做到这一点。 Java堆使用的内存可以换出,内存可以在不擦除的情况下回收。可以复制存储器并更改参考等。
对于较短的时间帧,您可以在字节数组和字符数组上执行此操作(以不可测试的方式),但即使这样,您也可能遇到麻烦。
因此,唯一的方法是使用具有本机支持的(FIPS认证的)JCE提供程序(或其他专有API)。本机代码可以是(FIPS认证的)软件库,用于清理密钥材料。或者它可以连接到与您的对称算法和/或密钥派生方法兼容的硬件安全模块(HSM)或其他硬件设备(智能卡或TPM)。