如何使用换行符加密文件

时间:2017-01-18 11:47:03

标签: java security encryption

我正在加密文件,但加密文件带有连续字符串。 我想输出与输入文件相同的方式。例如,参见

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();

请建议

3 个答案:

答案 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