好的,我正在开发一个应用程序,我想在用户的 SD 卡上存储一个文件,但我希望文件加密。我研究了几个使用 DES 加密来加密文件和数据的站点,但我对某些事情感到困惑。我看到的所有示例都使用这样的一行:
SecretKey key = KeyGenerator.getInstance("DES").generateKey();
我遇到的问题是我得到了要加密的密钥,显然我需要相同的密钥来解密。但这似乎是一个悖论,因为如果我将密钥存储在文件或数据库中,就不能有人得到密钥并解密我的文件吗?也许我遗漏了一些东西,但是有没有办法使用提供的密码生成密钥?如果必须将生成的密钥存储在其他地方,为什么有人不想使用密码呢?