我正在寻找一种安全地将文件内容读取到Java char[]
数组中的方法。我的特定用例是该文件包含密码,仅此而已。关键的安全注意事项如下:
byte[]
到char[]
的转换绝对不能通过String进行。 char[]
将直接传递到安全的字符串实例,该实例将内容保存在加密的内存中。我主要停留在第二点。我找不到Java API,无需通过String即可从byte[]
到char[]
。 OpenJDK 11实现在内部使用java.lang.StringCoding
来执行此转换,但是不幸的是,它不是公共的。如果可以的话,我想避免大量的复制粘贴代码。有任何建议或指示吗?
(顺便说一句,我意识到上面概述的方案不是故障预防,并且关键材料仍然可能泄漏到内存中,但是我认为这是用Java可以做到的最好的方法。)