将文件内容安全地读取到Java char []中

时间:2019-12-03 05:10:14

标签: java security

我正在寻找一种安全地将文件内容读取到Java char[]数组中的方法。我的特定用例是该文件包含密码,仅此而已。关键的安全注意事项如下:

  1. 读取完成后,必须清除用于读取文件字节的缓冲区(Arrays.fill)。
  2. byte[]char[]的转换绝对不能通过String进行。 char[]将直接传递到安全的字符串实例,该实例将内容保存在加密的内存中。

我主要停留在第二点。我找不到Java API,无需通过String即可从byte[]char[]。 OpenJDK 11实现在内部使用java.lang.StringCoding来执行此转换,但是不幸的是,它不是公共的。如果可以的话,我想避免大量的复制粘贴代码。有任何建议或指示吗?

(顺便说一句,我意识到上面概述的方案不是故障预防,并且关键材料仍然可能泄漏到内存中,但是我认为这是用Java可以做到的最好的方法。)

0 个答案:

没有答案