2017-01-18 2 views
1

私はファイルを暗号化していますが、暗号化されたファイルには連続した文字列が付いています。 私は入力ファイルと同じ方法で出力します。以下改行フィードでファイルを暗号化する方法

760bad166e25ea1e2f6a741363816a15703f2e20524503eee544f69909dd69af760bad166e25ea1e2f 

コード::私は取得していますどのような例

input file: 
=========== 
Language,English 

System Name,TSLGN0 

Number of board SPC,12 
. 
. 
Output Encrypted file: 
======================== 
ADCDE12345456 

ABCDDDDDDDEDEDAAAADDDD12333 

ABCDE123456789 

. 
. 

を参照

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

各行を個別に暗号化して元の改行を欲しい場合、暗号化された各行の後に改行を入れないのはなぜですか? – vanje

+0

有用な答えを得たい場合は、 'encrypt()'メソッドのコードを追加してください。 – walen

+0

行を暗号化した後に手動で改行を追加することはできますか? 'bwr.write(enSecretText.toString()+" \ n ");'? – mumpitz

答えて

0

を提案してください。 bwr.write後のあなたはadd bwr.newLine();に持って

while ((line = mbr.readLine()) != null) 
{ 
    enSecretText=encrypt(line); 
    bwr.write(enSecretText.toString()); 
    bwr.newLine(); 
} 
+0

ありがとう、それは働くInfact、私は2回追加する必要がありますbwr.newLine(); bwr.newLine(); – ashmalvi

1

暗号化は、ファイルをバイトストリームとして処理します。これらのバイトに割り当てられた意味には興味を持たず、暗号化する方法だけに興味があります。暗号化された暗号文は連続したバイトのストリームになります。その暗号文をどのように扱うかはあなた次第です。

暗号文を文字として使用する場合は、Base64としてエンコードします。 Base64に改行を追加したい場合は、は元の暗号文バイトに戻るためにBase64を削除する前に、改行を削除する必要があります()。

暗号文のバイトを復号化すると元のテキストに戻ります。

+0

注:一部のBase64実装では、改行文字が自動的に削除されます。 – zaph

関連する問題