我正在加密文件,但加密文件带有连续字符串。 我想输出与输入文件相同的方式。例如,参见
input file:
===========
Language,English
System Name,TSLGN0
Number of board SPC,12
.
.
Output Encrypted file:
========================
ADCDE12345456
ABCDDDDDDDEDEDAAAADDDD12333
ABCDE123456789
.
.
我得到的是什么:
760bad166e25ea1e2f6a741363816a15703f2e20524503eee544f69909dd69af760bad166e25ea1e2f
以下代码:
BufferedWriter bwr = new BufferedWriter(new FileWriter(new File("C:\\Crypto_Out.txt")));
mbr = new BufferedReader(new FileReader("C:\\Crypto_In.txt"));
while ((line = mbr.readLine()) != null)
{
enSecretText=encrypt(line);
bwr.write(enSecretText.toString());
}
bwr.flush();
bwr.close();
请建议
答案 0 :(得分:1)
加密将文件视为字节流。它对分配给这些字节的含义不感兴趣,只是如何加密它们。加密的密文将是一个连续的字节流。由您决定如何处理该密文。
如果要将密文作为字母,请将其编码为Base64。如果您想在Base64中添加换行符,则可以这样做,但必须删除换行符才能删除Base64以恢复原始的密文字节。
解密密文字节将返回原始文本。
答案 1 :(得分:0)
只需在每次迭代结束时添加换行符。
while ((line = mbr.readLine()) != null)
{
enSecretText=encrypt(line);
bwr.write(enSecretText.toString());
bwr.newLine();
}
答案 2 :(得分:0)
add bwr.newLine();
之后您必须bwr.write
。