2

我有一个我写的小应用程序,它使用用户创建的对称加密密钥来加密文件,并且不确定如何在程序中使用密钥。

需要明确的是,我不想将此密钥永久存储在任何地方,但显然我需要将它作为字符串或其他东西传递,否则我们根本无法用它做任何事情。

我的一些具体问题是:

  1. 将密钥用作字符串是否安全,或者像字节数组这样的东西更可取?

  2. 我认为我们不希望将解密文件保存在文件系统中的任何位置,这意味着它们必须加载到堆(或堆栈?)中。为此,需要在整个程序期间重复使用密钥。我们是否应该避免将其存储为类/实例变量?

  3. 当我们关闭程序时,我们应该如何处理我们的关键变量?是否应该手动覆盖?

4

0 回答 0