当我把它放在SD卡上时,我是一个Android开发人员试图使用javax.crypto包加密/解密我的SQLite数据库备份。这样,当它们位于可公开访问的文件系统中时,它们就无法被读取。
我可以很好地加密/解密文件,但我不知道如何判断用户是否输入了正确的密钥或错误的密钥。错误的密钥只会返回一个更混乱的文件。我需要一种验证用户密码的方法,而不将其存储在设备上(因为它们可能导入到另一台设备)。
如何检查文件是否已成功解密?
另外,有没有办法可以检查文件是否加密?
答案 0 :(得分:1)
在加密文件之前将文件的哈希值附加到文件的简单包装器格式怎么样?解密后,从文件末尾检索保存的哈希,并检查解密文件的哈希是否与保存的哈希匹配。如果没有,出现问题的可能性非常高。