【发布时间】:2013-12-06 03:38:03
【问题描述】:
我正在尝试用 Java 编写代码来加密文件。我使用了这个网站的例子: http://www.avajava.com/tutorials/lessons/how-do-i-encrypt-and-decrypt-files-using-des.html
一切正常,但我需要用加密文件覆盖原始文件的代码。我只改变了这个:
FileInputStream fis = new FileInputStream("original.txt");
FileOutputStream fos = new FileOutputStream("original.txt");
encrypt(key, fis, fos);
FileInputStream fis2 = new FileInputStream("original.txt");
FileOutputStream fos2 = new FileOutputStream("original.txt");
加密有效,但解密后解密文件为空。 有人可以解释一下问题是什么以及如何解决吗?
谢谢!
【问题讨论】:
-
你在哪里解密?
-
首先,这是一个可怕的例子。他们做错了几件事。
-
如果你能推荐任何java加密的好例子,我将不胜感激
-
您不应该直接使用密码作为密钥。 This post 展示了如何从密码创建正确的密钥。它使用 AES-256,但 AES-128 已经足够好了。 DES 对任何事情都不够好。您不应该使用 ECB 模式。使用CBC模式,并将IV存储在加密文件的开头。我也会尝试提供一个例子。提供完整性保护的模式会更好,但是小步骤......
标签: java encryption