在java中加密和解密文本文件,将第一行保持为可读

时间:2013-01-21 06:55:36

标签: java aes encryption des

我需要对文本文件进行加密和解密。对于加密和解密,我可以使用DES / AES算法。我有一个加密和解密文本文件的代码,但问题是,文件中的第一行必须加密一种它应该是可以理解的方式。使用AES和DES我在加密后得到不可读的格式。我需要在加密后读取第一行文件。请帮助我。谢谢提前

3 个答案:

答案 0 :(得分:1)

为什么不在文件的开头添加用户可读的幻数,并在完成文本块后再次添加?像这样:

MagiKrypt

This file has been encrypted with MagiKrypt, and you will need the program at (URL HERE) to decrypt it.

MakiKrypt\x00\x01\x02\x03
(AES data here)
EOF

通过这种方式,您的程序可以轻松地分辨文本的位置,AES数据在哪里,用户可以读取文件的第一部分。如果他们在文本编辑器中打开它仍然会是一团糟,但至少他们会看到介绍块。

答案 1 :(得分:0)

加密产生字节,而不是人类可读的字符。要使您的字节可读,您需要将它们转换为不同的格式。我建议将Base64作为执行此操作的常用方法。

加密文件后,根据需要将尽可能多的内容转换为Base64并显示Base64部分。它没有任何意义,但它不会包含任何太奇怪的东西。

答案 2 :(得分:-1)

最好保持第一行不加密,或者你应该自己处理规则并加密第一个(和所有)文本。最好使用SHAI算法进行更好的加密。除了SHA1,另一个选择是BTE加密